HTTP_REQUEST_V1 structure (http.h)
Utilise la structure HTTP_REQUEST pour retourner des données associées à une requête spécifique.
N’utilisez pas HTTP_REQUEST_V1 directement dans votre code ; l’utilisation de HTTP_REQUEST garantit à la place que la version appropriée, basée sur le système d’exploitation sous lequel le code est compilé, est utilisée.
Syntaxe
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;
Membres
Flags
Une combinaison de zéro ou plus des valeurs d’indicateur suivantes peut être combinée, avec OR, le cas échéant.
ConnectionId
Identificateur de la connexion sur laquelle la demande a été reçue. Utilisez cette valeur lors de l’appel de HttpWaitForDisconnect ou HttpReceiveClientCertificate.
RequestId
Valeur utilisée pour identifier la requête lors de l’appel de HttpReceiveRequestEntityBody, HttpSendHttpResponse et/ou HttpSendResponseEntityBody.
UrlContext
Contexte associé à l’URL dans le paramètre pRawUrl .
Windows Server 2003 avec SP1 et Windows XP avec SP2 :
Version
Structure HTTP_VERSION qui contient la version de HTTP spécifiée par cette requête.
Verb
Verbe HTTP associé à cette requête. Ce membre peut être l’une des valeurs de
énumération HTTP_VERB .
UnknownVerbLength
Si le membre Verb contient une valeur égale à HttpVerbUnknown, le membre UnknownVerbLength contient la taille, en octets, de la chaîne pointée par le membre pUnknownVerb , sans inclure le caractère null de fin. Si Verb n’est pas égal à HttpVerbUnknown, UnknownVerbLength est égal à zéro.
RawUrlLength
Taille, en octets, de la chaîne d’URL non traitées pointée par le membre pRawUrl , sans inclure le caractère null de fin.
pUnknownVerb
Si le membre Verb est égal à HttpVerbUnknown, pUnknownVerb pointe vers une chaîne d’octets terminée par null qui contient le verbe HTTP pour cette requête ; sinon, l’application ignore ce paramètre.
pRawUrl
Pointeur vers une chaîne d’octets qui contient l’URL non traitées d’origine ciblée par cette requête. Utilisez cette URL non traitées uniquement à des fins de suivi ou de statistiques ; Le membre CookedUrl contient la forme canonique de l’URL à usage général.
CookedUrl
Structure HTTP_COOKED_URL qui contient une version canonique à caractères larges analysée de l’URL ciblée par cette requête. Il s’agit de la version de l’URL que les écouteurs HTTP doivent agir sur, plutôt que sur l’URL brute.
Address
Structure HTTP_TRANSPORT_ADDRESS qui contient les adresses de transport de la connexion pour cette requête.
Headers
Structure HTTP_REQUEST_HEADERS qui contient les en-têtes spécifiés dans cette requête.
BytesReceived
Nombre total d’octets reçus du réseau comprenant cette demande.
EntityChunkCount
Nombre d’éléments dans le tableau pEntityChunks . Si aucun corps d’entité n’a été copié, cette valeur est égale à zéro.
pEntityChunks
Pointeur vers un tableau de structures HTTP_DATA_CHUNK qui contient les blocs de données composant le corps de l’entité. HttpReceiveHttpRequest ne copie pas le corps de l’entité, sauf si elle est appelée avec l’indicateur HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY défini.
RawConnectionId
ID de connexion brut pour une requête SSL (Secure Sockets Layer).
pSslInfo
Pointeur vers une structure de HTTP_SSL_INFO qui contient des informations SSL (Secure Sockets Layer) sur la connexion sur laquelle la demande a été reçue.
Notes
L’URL non traitées contenue dans le membre pRawUrl est à des fins de suivi et de statistiques uniquement. À d’autres fins, utilisez l’URL canonique traitée contenue dans le membre CookedUrl .
Spécifications
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
En-tête | http.h |