estructura HTTP_REQUEST_V1 (http.h)
Usa la estructura HTTP_REQUEST para devolver datos asociados a una solicitud específica.
No use HTTP_REQUEST_V1 directamente en el código; el uso de HTTP_REQUEST en su lugar garantiza que se use la versión adecuada, en función del sistema operativo en el que se compila el código.
Sintaxis
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;
Members
Flags
Se puede combinar una combinación de cero o más de los siguientes valores de marca, con OR, según corresponda.
ConnectionId
Identificador de la conexión en la que se recibió la solicitud. Use este valor al llamar a HttpWaitForDisconnect o HttpReceiveClientCertificate.
RequestId
Valor utilizado para identificar la solicitud al llamar a HttpReceiveRequestEntityBody, HttpSendHttpResponse y/o HttpSendResponseEntityBody.
UrlContext
Contexto asociado a la dirección URL en el parámetro pRawUrl .
Windows Server 2003 con SP1 y Windows XP con SP2:
Version
Estructura HTTP_VERSION que contiene la versión de HTTP especificada por esta solicitud.
Verb
Verbo HTTP asociado a esta solicitud. Este miembro puede ser uno de los valores de .
HTTP_VERB enumeración.
UnknownVerbLength
Si el miembro Verb contiene un valor igual a HttpVerbUnknown, el miembro UnknownVerbLength contiene el tamaño, en bytes, de la cadena a la que apunta el miembro pUnknownVerb , no incluido el carácter nulo de terminación. Si Verb no es igual a HttpVerbUnknown, UnknownVerbLength es igual a cero.
RawUrlLength
Tamaño, en bytes, de la cadena de dirección URL sin procesar a la que apunta el miembro pRawUrl , sin incluir el carácter nulo de terminación.
pUnknownVerb
Si el miembro Verb es igual a HttpVerbUnknown, pUnknownVerb, apunta a una cadena terminada en null de octetos que contiene el verbo HTTP para esta solicitud; de lo contrario, la aplicación omite este parámetro.
pRawUrl
Puntero a una cadena de octetos que contiene la dirección URL original sin procesar dirigida por esta solicitud. Utilice esta dirección URL sin procesar solo con fines estadísticos o de seguimiento; El miembro CookedUrl contiene la forma canónica de la dirección URL para uso general.
CookedUrl
Estructura HTTP_COOKED_URL que contiene una versión de caracteres anchos canónicos analizados de la dirección URL de destino de esta solicitud. Esta es la versión de los agentes de escucha HTTP de dirección URL que deben actuar, en lugar de la dirección URL sin formato.
Address
Estructura HTTP_TRANSPORT_ADDRESS que contiene las direcciones de transporte de la conexión para esta solicitud.
Headers
Estructura HTTP_REQUEST_HEADERS que contiene los encabezados especificados en esta solicitud.
BytesReceived
Número total de bytes recibidos de la red que comprende esta solicitud.
EntityChunkCount
Número de elementos de la matriz pEntityChunks . Si no se copió ningún cuerpo de entidad, este valor es cero.
pEntityChunks
Puntero a una matriz de estructuras de HTTP_DATA_CHUNK que contiene los bloques de datos que componen el cuerpo de la entidad. HttpReceiveHttpRequest no copia el cuerpo de la entidad a menos que se llame con la marca HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY establecida.
RawConnectionId
Identificador de conexión sin procesar para una solicitud de Capa de sockets seguros (SSL).
pSslInfo
Puntero a una estructura de HTTP_SSL_INFO que contiene información de Capa de sockets seguros (SSL) sobre la conexión en la que se recibió la solicitud.
Comentarios
La dirección URL sin procesar contenida en el miembro pRawUrl es solo para fines estadísticos y de seguimiento. Para otros fines, use la dirección URL canónica procesada contenida en el miembro CookedUrl .
Requisitos
Cliente mínimo compatible | Windows Vista [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2008 [solo aplicaciones de escritorio] |
Encabezado | http.h |