структура 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
Сочетание 0 или более следующих значений флагов может быть объединено с OR, если это необходимо.
ConnectionId
Идентификатор подключения, по которому был получен запрос. Используйте это значение при вызове HttpWaitForDisconnect или HttpReceiveClientCertificate.
RequestId
Значение, используемое для идентификации запроса при вызове HttpReceiveRequestEntityBody, HttpSendHttpResponse и (или ) HttpSendResponseEntityBody.
UrlContext
Контекст, связанный с URL-адресом в параметре pRawUrl .
Windows Server 2003 с пакетом обновления 1 (SP1) и Windows XP с пакетом обновления 2 (SP2):
Version
Структура HTTP_VERSION , содержащая версию HTTP, указанную в этом запросе.
Verb
HTTP-команда, связанная с этим запросом. Этот элемент может быть одним из значений из
перечисление HTTP_VERB .
UnknownVerbLength
Если член Verb содержит значение, равное HttpVerbUnknown, член UnknownVerbLength содержит размер строки, на которую указывает элемент pUnknownVerb , не включая завершающий символ NULL, в байтах. Если verb не равно HttpVerbUnknown, UnknownVerbLength равно нулю.
RawUrlLength
Размер в байтах необработанной строки URL-адреса, на которую указывает член pRawUrl , не включая завершающий символ NULL.
pUnknownVerb
Если элемент Verb равен HttpVerbUnknown, pUnknownVerb, указывает на строку октетов, завершающуюся null, которая содержит HTTP-команду для этого запроса; В противном случае приложение игнорирует этот параметр.
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 структур, содержащий блоки данных, составляющие тело сущности. HttpReceiveHttpRequest не копирует тело сущности, если не вызывается с HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY флагом.
RawConnectionId
Необработанный идентификатор подключения для запроса SSL.
pSslInfo
Указатель на структуру HTTP_SSL_INFO , содержащую сведения ssl о подключении, по которому был получен запрос.
Комментарии
Необработанные URL-адреса, содержащиеся в элементе pRawUrl , предназначен только для отслеживания и статистических целей. Для других целей используйте обработанный канонический URL-адрес, содержащийся в элементе CookedUrl .
Требования
Минимальная версия клиента | Windows Vista [только классические приложения] |
Минимальная версия сервера | Windows Server 2008 [только классические приложения] |
Верхняя часть | http.h |