共用方式為


HTTP_REQUEST_V1結構 (HTTP.h)

使用 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 結合。

意義
HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS
此要求有更多實體本文可供讀取。 這只適用于跨越多個讀取的傳入要求。

如果未設定此值,則會將整個實體主體複製到 pEntityChunks 所指定的緩衝區,或要求不包含實體主體。

HTTP_REQUEST_FLAG_IP_ROUTED
要求是以主機和 IP 系結為基礎來路由傳送。 應用程式應該會在排清此要求的核心快取專案時反映本機 IP。

Windows Server 2003 SP1 和 Windows XP SP2: 不支援此旗標。

HTTP_REQUEST_FLAG_HTTP2
表示已透過 HTTP/2 收到要求。

ConnectionId

收到要求之連線的識別碼。 呼叫 HttpWaitForDisconnectHttpReceiveClientCertificate時,請使用此值。

RequestId

值,用來識別呼叫 HttpReceiveRequestEntityBodyHttpSendHttpResponse和/或 HttpSendResponseEntityBody時的要求。

UrlContext

pRawUrl 參數中 URL 相關聯的內容。

Windows Server 2003 SP1 和 Windows XP SP2:

Version

包含此要求所指定 HTTP 版本的 HTTP_VERSION 結構。

Verb

與此要求相關聯的 HTTP 動詞。 這個成員可以是 的其中一個值
HTTP_VERB 列舉。

UnknownVerbLength

如果 Verb 成員包含的值等於 HttpVerbUnknownUnknownVerbLength 成員會包含 pUnknownVerb 成員所指向之字串的大小,以位元組為單位,不包含終止的 Null 字元。 如果 Verb 不等於 HttpVerbUnknownUnknownVerbLength 等於零。

RawUrlLength

pRawUrl成員指向之未處理 URL 字串的大小,以位元組為單位,不包括終止的 Null 字元。

pUnknownVerb

如果 Verb 成員等於 HttpVerbUnknownpUnknownVerb會指向包含此要求之 HTTP 動詞的 Null 終止字串;否則,應用程式會忽略此參數。

pRawUrl

八位字串的指標,其中包含此要求的目標原始未處理 URL。 僅針對追蹤或統計用途使用此未處理的 URL; CookedUrl 成員包含正式形式的 URL 以供一般使用。

CookedUrl

HTTP_COOKED_URL結構,其中包含此要求所鎖定之 URL 的剖析標準寬字元版本。 這是 URL HTTP 接聽程式應該處理的版本,而不是原始 URL。

Address

HTTP_TRANSPORT_ADDRESS結構,其中包含此要求之連線的傳輸位址。

Headers

HTTP_REQUEST_HEADERS結構,其中包含此要求中指定的標頭。

BytesReceived

從包含此要求之網路的位元組總數。

EntityChunkCount

pEntityChunks陣列中的專案數目。 如果未複製實體主體,則此值為零。

pEntityChunks

包含構成實體主體之資料區塊之 HTTP_DATA_CHUNK 結構的陣列指標。 除非使用HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY旗標集呼叫,否則 HttpReceiveHttpRequest不會複製實體主體。

RawConnectionId

安全通訊端層 (SSL) 要求的原始連線識別碼。

pSslInfo

包含安全通訊端層 (SSL 的HTTP_SSL_INFO 結構的指標,) 收到要求之連線的相關資訊。

備註

pRawUrl成員中包含的未處理 URL 僅供追蹤和統計之用。 針對其他用途,請使用 CookedUrl 成員中包含的已處理標準 URL。

需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
標頭 HTTP.h

另請參閱

HTTP 伺服器 API 2.0 版結構

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