HTTP_REQUEST_V1-Struktur (http.h)
Verwendet die HTTP_REQUEST-Struktur , um Daten zurückzugeben, die einer bestimmten Anforderung zugeordnet sind.
Verwenden Sie HTTP_REQUEST_V1 nicht direkt in Ihrem Code. Mit HTTP_REQUEST wird stattdessen sichergestellt, dass die richtige Version basierend auf dem Betriebssystem verwendet wird, unter dem der Code kompiliert wird.
Syntax
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
Eine Kombination aus null oder mehr der folgenden Flagwerte kann je nach Bedarf mit ODER kombiniert werden.
ConnectionId
Ein Bezeichner für die Verbindung, für die die Anforderung empfangen wurde. Verwenden Sie diesen Wert, wenn Sie HttpWaitForDisconnect oder HttpReceiveClientCertificate aufrufen.
RequestId
Ein Wert, der verwendet wird, um die Anforderung beim Aufrufen von HttpReceiveRequestEntityBody, HttpSendHttpResponse und/oder HttpSendResponseEntityBody zu identifizieren.
UrlContext
Der Kontext, der der URL im pRawUrl-Parameter zugeordnet ist.
Windows Server 2003 mit SP1 und Windows XP mit SP2:
Version
Eine HTTP_VERSION-Struktur , die die in dieser Anforderung angegebene HTTP-Version enthält.
Verb
Ein HTTP-Verb, das dieser Anforderung zugeordnet ist. Dieser Member kann einer der Werte aus der
HTTP_VERB-Enumeration .
UnknownVerbLength
Wenn das Verb-Element einen Wert enthält, der gleich HttpVerbUnknown ist, enthält das UnknownVerbLength-Element die Größe der Zeichenfolge in Bytes, auf die das pUnknownVerb-Element verweist, ohne das abschließende NULL-Zeichen. Wenn Verb nicht gleich HttpVerbUnknown ist, ist UnknownVerbLength gleich 0.
RawUrlLength
Die Größe der nicht verarbeiteten URL-Zeichenfolge in Bytes, auf die der pRawUrl-Member verweist, ohne das abschließende NULL-Zeichen.
pUnknownVerb
Wenn der Verb-Member gleich HttpVerbUnknown, pUnknownVerb, ist, verweist auf eine null-beendete Zeichenfolge von Oktetten, die das HTTP-Verb für diese Anforderung enthält. Andernfalls ignoriert die Anwendung diesen Parameter.
pRawUrl
Ein Zeiger auf eine Zeichenfolge von Oktetten, die die ursprüngliche, nicht verarbeitete URL für diese Anforderung enthält. Verwenden Sie diese nicht verarbeitete URL nur zu Nachverfolgungs- oder statistischen Zwecken; Das CookedUrl-Element enthält die kanonische Form der URL für die allgemeine Verwendung.
CookedUrl
Eine HTTP_COOKED_URL-Struktur , die eine analysierte kanonische Breitzeichenversion der URL enthält, auf die diese Anforderung abzielt. Dies ist die Version der URL-HTTP-Listener, auf die anstelle der unformatierten URL reagiert werden soll.
Address
Eine HTTP_TRANSPORT_ADDRESS Struktur, die die Transportadressen für die Verbindung für diese Anforderung enthält.
Headers
Eine HTTP_REQUEST_HEADERS-Struktur , die die in dieser Anforderung angegebenen Header enthält.
BytesReceived
Die Gesamtzahl der Bytes, die vom Netzwerk empfangen werden, das diese Anforderung umfasst.
EntityChunkCount
Die Anzahl der Elemente im pEntityChunks-Array . Wenn kein Entitätstext kopiert wurde, ist dieser Wert null.
pEntityChunks
Ein Zeiger auf ein Array von HTTP_DATA_CHUNK Strukturen, das die Datenblöcke enthält, aus denen der Entitätstext besteht. HttpReceiveHttpRequest kopiert den Entitätstext nur, wenn der Aufruf mit dem HTTP_RECEIVE_REQUEST_FLAG_COPY_BODY-Flag festgelegt ist.
RawConnectionId
Unformatierte Verbindungs-ID für eine SSL-Anforderung (Secure Sockets Layer).
pSslInfo
Ein Zeiger auf eine HTTP_SSL_INFO Struktur, die SSL-Informationen (Secure Sockets Layer) über die Verbindung enthält, über die die Anforderung empfangen wurde.
Hinweise
Die im pRawUrl-Member enthaltene nicht verarbeitete URL dient nur zur Nachverfolgung und zu statistischen Zwecken. Verwenden Sie für andere Zwecke die verarbeitete, kanonische URL, die im CookedUrl-Element enthalten ist.
Anforderungen
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Kopfzeile | http.h |