HttpReceiveRequestEntityBody-Funktion (http.h)

Die HttpReceiveRequestEntityBody-Funktion empfängt zusätzliche Entitätstextdaten für eine angegebene HTTP-Anforderung.

Syntax

HTTPAPI_LINKAGE ULONG HttpReceiveRequestEntityBody(
  [in]            HANDLE          RequestQueueHandle,
  [in]            HTTP_REQUEST_ID RequestId,
  [in]            ULONG           Flags,
  [out]           PVOID           EntityBuffer,
  [in]            ULONG           EntityBufferLength,
  [out, optional] PULONG          BytesReturned,
  [in, optional]  LPOVERLAPPED    Overlapped
);

Parameter

[in] RequestQueueHandle

Das Handle für die Anforderungswarteschlange, aus der die angegebenen Entitätskörperdaten abgerufen werden sollen. Eine Anforderungswarteschlange wird erstellt, und ihr Handle wird durch einen Aufruf der HttpCreateRequestQueue-Funktion zurückgegeben.

Windows Server 2003 mit SP1 und Windows XP mit SP2: Das Handle für die Anforderungswarteschlange wird von der HttpCreateHttpHandle-Funktion erstellt.

[in] RequestId

Der Bezeichner der HTTP-Anforderung, die den abgerufenen Entitätstext enthält. Dieser Wert wird im RequestId-Member der HTTP_REQUEST-Struktur durch einen Aufruf der HttpReceiveHttpRequest-Funktion zurückgegeben. Dieser Wert kann nicht HTTP_NULL_ID werden.

[in] Flags

Dieser Parameter kann der folgende Flagwert sein.

Windows Server 2003 mit SP1 und Windows XP mit SP2: Dieser Parameter ist reserviert und muss null sein.

Wert Bedeutung
HTTP_RECEIVE_REQUEST_ENTITY_BODY_FLAG_FILL_BUFFER
Gibt an, dass der Puffer mit mindestens einem Entitätskörper gefüllt wird, es sei denn, es sind keine verbleibenden Entitätskörper zum Kopieren vorhanden.

[out] EntityBuffer

Ein Zeiger auf einen Puffer, der Entitätskörperdaten empfängt.

[in] EntityBufferLength

Die Größe des Puffers in Bytes, auf den der pBuffer-Parameter verweist.

[out, optional] BytesReturned

Optional. Ein Zeiger auf eine Variablen, die die Größe der im pBuffer-Puffer zurückgegebenen Entitätskörperdaten in Bytes empfängt.

Wenn Sie einen asynchronen Aufruf mithilfe von pOverlapped ausführen, legen Sie pBytesReceived auf NULL fest. Andernfalls muss pBytesReceived eine gültige Speicheradresse enthalten und nicht auf NULL festgelegt werden, wenn pOverlapped auf NULL festgelegt ist.

[in, optional] Overlapped

Legen Sie bei asynchronen Aufrufen pOverlapped so fest, dass er auf eine OVERLAPPED-Struktur verweist. Legen Sie für synchrone Aufrufe auf NULL fest.

Ein synchroner Aufruf blockiert, bis die Entitätskörperdaten abgerufen wurden, während ein asynchroner Aufruf sofort ERROR_IO_PENDING zurückgibt, und die aufrufende Anwendung verwendet dann GetOverlappedResult - oder E/A-Vervollständigungsports, um zu bestimmen, wann der Vorgang abgeschlossen ist. Weitere Informationen zur Verwendung von OVERLAPPED-Strukturen für die Synchronisierung finden Sie unter Synchronisierung und überlappende Eingabe und Ausgabe.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion asynchron verwendet wird, gibt der Rückgabewert ERROR_IO_PENDING an, dass die nächste Anforderung noch nicht bereit ist und später über normale überlappende E/A-Vervollständigungsmechanismen abgerufen wird.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Wert Bedeutung
ERROR_INVALID_PARAMETER
Mindestens einer der angegebenen Parameter ist in einer nicht verwendbaren Form.
ERROR_HANDLE_EOF
Der angegebene Entitätstext wurde bereits vollständig abgerufen. in diesem Fall ist der Wert, auf den pBytesReceived verweist, nicht aussagekräftig, und pBuffer sollte nicht untersucht werden.
ERROR_DLL_INIT_FAILED
Die aufrufende Anwendung hat httpInitialize vor dem Aufrufen dieser Funktion nicht aufgerufen.
Andere
Ein in WinError.h definierter Systemfehlercode .

Hinweise

Um einen gesamten Entitätstext abzurufen, wird erwartet, dass eine Anwendung HttpReceiveRequestEntityBody aufruft und neue Puffer übergibt, bis die Funktion ERROR_HANDLE_EOF zurückgibt. Solange ein Puffer voller Entitätskörperdaten erfolgreich kopiert wird und noch weitere Entitätskörperdaten auf den Abruf warten, gibt die Funktion NO_ERROR zurück.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista, Windows XP mit SP2 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile http.h
Bibliothek Httpapi.lib
DLL Httpapi.dll

Weitere Informationen

Funktionen der HTTP-Server-API, Version 1.0

HTTP-Serverbeispielanwendung

HTTP_REQUEST

HttpReceiveHttpRequest

HttpSendHttpResponse

HttpSendResponseEntityBody