Compartir a través de


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.

Valor Significado
HTTP_REQUEST_FLAG_MORE_ENTITY_BODY_EXISTS
Hay más cuerpo de entidad que se leerá para esta solicitud. Esto solo se aplica a las solicitudes entrantes que abarcan varias lecturas.

Si no se establece este valor, el cuerpo de la entidad completa se copió en el búfer especificado por pEntityChunks o la solicitud no incluyó un cuerpo de entidad.

HTTP_REQUEST_FLAG_IP_ROUTED
La solicitud se enrutaba en función del host y el enlace IP. La aplicación debe reflejar la dirección IP local mientras vacía las entradas de caché del kernel para esta solicitud.

Windows Server 2003 con SP1 y Windows XP con SP2: Esta marca no se admite.

HTTP_REQUEST_FLAG_HTTP2
Indica que la solicitud se recibió a través de HTTP/2.

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

Consulte también

Estructuras de la API de servidor HTTP versión 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