Skip to content

Latest commit

 

History

History
244 lines (157 loc) · 8.69 KB

ns-http-http_request_v1.md

File metadata and controls

244 lines (157 loc) · 8.69 KB
UID title description helpviewer_keywords old-location tech.root ms.assetid ms.date ms.keywords req.header req.include-header req.target-type req.target-min-winverclnt req.target-min-winversvr req.kmdf-ver req.umdf-ver req.ddi-compliance req.unicode-ansi req.idl req.max-support req.namespace req.assembly req.type-library req.lib req.dll req.irql targetos req.typenames req.redist ms.custom f1_keywords dev_langs topic_type api_type api_location api_name
NS:http._HTTP_REQUEST_V1
HTTP_REQUEST_V1 (http.h)
Uses the HTTP_REQUEST structure to return data associated with a specific request.
*PHTTP_REQUEST
*PHTTP_REQUEST_V1
HTTP_REQUEST
HTTP_REQUEST_FLAG_HTTP2
HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS
HTTP_REQUEST_FLAG_IP_ROUTED
HTTP_REQUEST_V1
HTTP_REQUEST_V1 structure [HTTP]
PHTTP_REQUEST_V1
PHTTP_REQUEST_V1 structure pointer [HTTP]
http.http_request_v1
http/HTTP_REQUEST_V1
http/PHTTP_REQUEST_V1
http\http_request_v1.htm
http
5550c49c-36ef-42e6-8134-5d9d0d9d53b5
12/05/2018
*PHTTP_REQUEST, *PHTTP_REQUEST_V1, HTTP_REQUEST, HTTP_REQUEST_FLAG_HTTP2, HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS, HTTP_REQUEST_FLAG_IP_ROUTED, HTTP_REQUEST_V1, HTTP_REQUEST_V1 structure [HTTP], PHTTP_REQUEST_V1, PHTTP_REQUEST_V1 structure pointer [HTTP], http.http_request_v1, http/HTTP_REQUEST_V1, http/PHTTP_REQUEST_V1
http.h
Windows
Windows Vista [desktop apps only]
Windows Server 2008 [desktop apps only]
Windows
HTTP_REQUEST_V1, *PHTTP_REQUEST_V1
19H1
_HTTP_REQUEST_V1
http/_HTTP_REQUEST_V1
PHTTP_REQUEST_V1
http/PHTTP_REQUEST_V1
HTTP_REQUEST_V1
http/HTTP_REQUEST_V1
c++
APIRef
kbSyntax
HeaderDef
Http.h
HTTP_REQUEST_V1

-description

Uses the HTTP_REQUEST structure to return data associated with a specific request.

Do not use HTTP_REQUEST_V1 directly in your code; using HTTP_REQUEST instead ensures that the proper version, based on the operating system the code is compiled under, is used.

-struct-fields

-field Flags

A combination of zero or more of the following flag values may be combined, with OR, as appropriate.

Value Meaning
HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS
There is more entity body to be read for this request. This applies only to incoming requests that span multiple reads.

If this value is not set, either the whole entity body was copied into the buffer specified by pEntityChunks or the request did not include an entity body.

HTTP_REQUEST_FLAG_IP_ROUTED
The request was routed based on host and IP binding. The application should reflect the local IP while flushing kernel cache entries for this request.

Windows Server 2003 with SP1 and Windows XP with SP2:  This flag is not supported.

HTTP_REQUEST_FLAG_HTTP2
Indicates the request was received over HTTP/2.

-field ConnectionId

An identifier for the connection on which the request was received. Use this value when calling HttpWaitForDisconnect or HttpReceiveClientCertificate.

-field RequestId

A value used to identify the request when calling HttpReceiveRequestEntityBody, HttpSendHttpResponse, and/or HttpSendResponseEntityBody.

-field UrlContext

The context that is associated with the URL in the pRawUrl parameter.

Windows Server 2003 with SP1 and Windows XP with SP2:  

-field Version

An HTTP_VERSION structure that contains the version of HTTP specified by this request.

-field Verb

An HTTP verb associated with this request. This member can be one of the values from the
HTTP_VERB enumeration.

-field UnknownVerbLength

If the Verb member contains a value equal to HttpVerbUnknown, the UnknownVerbLength member contains the size, in bytes, of the string pointed to by the pUnknownVerb member, not including the terminating null character. If Verb is not equal to HttpVerbUnknown, UnknownVerbLength is equal to zero.

-field RawUrlLength

The size, in bytes, of the unprocessed URL string pointed to by the pRawUrl member, not including the terminating null character.

-field pUnknownVerb

If the Verb member is equal to HttpVerbUnknown, pUnknownVerb, points to a null-terminated string of octets that contains the HTTP verb for this request; otherwise, the application ignores this parameter.

-field pRawUrl

A pointer to a string of octets that contains the original, unprocessed URL targeted by this request. Use this unprocessed URL only for tracking or statistical purposes; the CookedUrl member contains the canonical form of the URL for general use.

-field CookedUrl

An HTTP_COOKED_URL structure that contains a parsed canonical wide-character version of the URL targeted by this request. This is the version of the URL HTTP Listeners should act upon, rather than the raw URL.

-field Address

An HTTP_TRANSPORT_ADDRESS structure that contains the transport addresses for the connection for this request.

-field Headers

An HTTP_REQUEST_HEADERS structure that contains the headers specified in this request.

-field BytesReceived

The total number of bytes received from the network comprising this request.

-field EntityChunkCount

The number of elements in the pEntityChunks array. If no entity body was copied, this value is zero.

-field pEntityChunks

A pointer to an array of HTTP_DATA_CHUNK structures that contains the data blocks making up the entity body. HttpReceiveHttpRequest does not copy the entity body unless called with the HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY flag set.

-field RawConnectionId

Raw connection ID for an Secure Sockets Layer (SSL) request.

-field pSslInfo

A pointer to an HTTP_SSL_INFO structure that contains Secure Sockets Layer (SSL) information about the connection on which the request was received.

-remarks

The unprocessed URL contained in the pRawUrl member is for tracking and statistical purposes only. For other purposes, use the processed, canonical URL contained in the CookedUrl member.

-see-also

HTTP Server API Version 2.0 Structures

HTTP_COOKED_URL

HTTP_DATA_CHUNK

HTTP_REQUEST

HTTP_REQUEST_V2

HTTP_RESPONSE

HTTP_SSL_INFO

HTTP_TRANSPORT_ADDRESS

HTTP_VERB

HttpReceiveHttpRequest

HttpReceiveRequestEntityBody

HttpSendHttpResponse

HttpSendResponseEntityBody