http.h) (HTTP_REQUEST_V1 结构
使用 HTTP_REQUEST 结构返回与特定请求关联的数据。
不要直接在代码中使用 HTTP_REQUEST_V1 ;改用 HTTP_REQUEST 可确保使用基于编译代码的操作系统的正确版本。
语法
typedef struct _HTTP_REQUEST_V1 {
ULONG Flags;
HTTP_CONNECTION_ID ConnectionId;
HTTP_REQUEST_ID RequestId;
HTTP_URL_CONTEXT UrlContext;
HTTP_VERSION Version;
HTTP_VERB Verb;
USHORT UnknownVerbLength;
USHORT RawUrlLength;
PCSTR pUnknownVerb;
PCSTR pRawUrl;
HTTP_COOKED_URL CookedUrl;
HTTP_TRANSPORT_ADDRESS Address;
HTTP_REQUEST_HEADERS Headers;
ULONGLONG BytesReceived;
USHORT EntityChunkCount;
PHTTP_DATA_CHUNK pEntityChunks;
HTTP_RAW_CONNECTION_ID RawConnectionId;
PHTTP_SSL_INFO pSslInfo;
} HTTP_REQUEST_V1, *PHTTP_REQUEST_V1;
成员
Flags
可以根据需要将以下标志值的零个或多个组合与 OR 组合。
ConnectionId
接收请求时所基于的连接标识符。 调用 HttpWaitForDisconnect 或 HttpReceiveClientCertificate 时使用此值。
RequestId
一个值,用于在调用 HttpReceiveRequestEntityBody、 HttpSendHttpResponse 和/或 HttpSendResponseEntityBody 时标识请求。
UrlContext
与 pRawUrl 参数中的 URL 关联的上下文。
Windows Server 2003 SP1 和 Windows XP SP2:
Version
包含此请求指定的 HTTP 版本的 HTTP_VERSION 结构。
Verb
与此请求关联的 HTTP 谓词。 此成员可以是
HTTP_VERB 枚举。
UnknownVerbLength
如果 Verb 成员包含的值等于 HttpVerbUnknown,则 UnknownVerbLength 成员包含 pUnknownVerb 成员指向的字符串的大小(以字节为单位),不包括终止 null 字符。 如果 Verb 不等于 HttpVerbUnknown, 则 UnknownVerbLength 等于零。
RawUrlLength
pRawUrl 成员指向的未处理 URL 字符串的大小(以字节为单位),不包括终止 null 字符。
pUnknownVerb
如果 Verb 成员等于 HttpVerbUnknownpUnknownVerb,则指向包含此请求的 HTTP 谓词的以 null 结尾的八进制字符串;否则,应用程序将忽略此参数。
pRawUrl
指向包含此请求所面向的原始未处理 URL 的字符串的指针。 将此未处理的 URL 仅用于跟踪或统计目的; CookedUrl 成员包含常规用途的 URL 规范形式。
CookedUrl
一个HTTP_COOKED_URL结构,其中包含此请求所针对的 URL 的已分析规范宽字符版本。 这是 HTTP 侦听器应处理的 URL 版本,而不是原始 URL。
Address
包含此请求连接的传输地址 的HTTP_TRANSPORT_ADDRESS 结构。
Headers
包含此请求中指定的标头 的HTTP_REQUEST_HEADERS 结构。
BytesReceived
从构成此请求的网络接收的总字节数。
EntityChunkCount
pEntityChunks 数组中的元素数。 如果未复制实体正文,则此值为零。
pEntityChunks
指向包含组成实体体的数据块的 HTTP_DATA_CHUNK 结构的数组的指针。 HttpReceiveHttpRequest 不会复制实体正文,除非调用并设置了HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY标志。
RawConnectionId
安全套接字层 (SSL) 请求的原始连接 ID。
pSslInfo
指向 HTTP_SSL_INFO 结构的指针,该结构包含安全套接字层 (SSL) 有关接收请求的连接的信息。
注解
pRawUrl 成员中包含的未处理的 URL 仅用于跟踪和统计目的。 出于其他目的,请使用 CookedUrl 成员中包含的已处理的规范 URL。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2008 [仅限桌面应用] |
标头 | http.h |