WinHttpReadDataEx-Funktion (winhttp.h)

Liest Daten aus einem Von der WinHttpOpenRequest-Funktion geöffneten Handle.

Syntax

WINHTTPAPI DWORD WinHttpReadDataEx(
  HINTERNET hRequest,
  LPVOID    lpBuffer,
  DWORD     dwNumberOfBytesToRead,
  LPDWORD   lpdwNumberOfBytesRead,
  ULONGLONG ullFlags,
  DWORD     cbProperty,
  PVOID     pvProperty
);

Parameter

hRequest

Typ: IN HINTERNET

Ein HINTERNET-Handle , das von einem vorherigen Aufruf von WinHttpOpenRequest zurückgegeben wurde.

WinHttpReceiveResponse oder WinHttpQueryDataAvailable muss für dieses Handle aufgerufen und abgeschlossen sein, bevor WinHttpReadDataEx aufgerufen wird. Das Aufrufen von WinHttpReadDataEx unmittelbar nach Abschluss von WinHttpReceiveResponse vermeidet zwar die Kosten einer Pufferkopie, erfordert jedoch, dass Ihre Anwendung einen Puffer mit fester Länge zum Lesen verwendet.

lpBuffer

Typ: _Out_writes_bytes_to_(dwNumberOfBytesToRead, *lpdwNumberOfBytesRead) __out_data_source(NETWORK) LPVOID

Zeiger auf einen Puffer, der die gelesenen Daten empfängt. Stellen Sie sicher, dass dieser Puffer gültig bleibt, bis WinHttpReadDataEx abgeschlossen ist.

dwNumberOfBytesToRead

Typ: IN DWORD

Ganzzahlwert ohne Vorzeichen, der die Anzahl der zu lesenden Bytes enthält.

lpdwNumberOfBytesRead

Typ: OUT LPDWORD

Zeiger auf eine ganzzahlige Variable ohne Vorzeichen, die die Anzahl der gelesenen Bytes empfängt. WinHttpReadDataEx legt diesen Wert auf 0 fest, bevor eine Arbeit oder Fehlerüberprüfung ausgeführt wird. Wenn Sie WinHTTP asynchron verwenden, legen Sie diesen Parameter immer auf NULL fest, und rufen Sie die Informationen in der Rückruffunktion ab. Dies kann zu einem Speicherfehler führen.

ullFlags

Typ: IN ULONGLONG

Wenn Sie WINHTTP_READ_DATA_EX_FLAG_FILL_BUFFER übergeben, schließt WinHttp den Aufruf von WinHttpReadDataEx erst ab, wenn der bereitgestellte Datenpuffer gefüllt oder die Antwort abgeschlossen ist. Durch Das Übergeben dieses Flags entspricht das Verhalten dieser API dem von WinHttpReadData.

cbProperty

Typ: IN DWORD

Reserviert. Pass 0.

pvProperty

Typ: _In_reads_bytes_opt_(cbProperty) PVOID

Reserviert. Übergeben Sie NULL.

Rückgabewert

Ein status Code, der das Ergebnis des Vorgangs angibt. Zu den zurückgegebenen Fehlercodes gehören die folgenden.

Fehlercode BESCHREIBUNG
ERROR_WINHTTP_CONNECTION_ERROR
Die Verbindung mit dem Server wurde zurückgesetzt oder beendet, oder es wurde ein inkompatibles SSL-Protokoll gefunden. Beispielsweise unterstützt WinHTTP 5.1 SSL2 nur, wenn der Client dies ausdrücklich aktiviert.
ERROR_WINHTTP_INCORRECT_HANDLE_STATE
Der angeforderte Vorgang kann nicht ausgeführt werden, da sich der angegebene Handle nicht im richtigen Zustand befindet.
ERROR_WINHTTP_INCORRECT_HANDLE_TYPE
Der Typ des angegebenen Handles ist für diesen Vorgang falsch.
ERROR_WINHTTP_INTERNAL_ERROR
Ein interner Fehler ist aufgetreten.
ERROR_WINHTTP_OPERATION_CANCELLED
Der Vorgang wurde abgebrochen, in der Regel, weil der Handle, an dem die Anforderung ausgeführt wurde, vor Abschluss des Vorgangs geschlossen wurde.
ERROR_WINHTTP_RESPONSE_DRAIN_OVERFLOW
Wird zurückgegeben, wenn eine eingehende Antwort ein internes WinHTTP-Größenlimit überschreitet.
ERROR_WINHTTP_TIMEOUT
Timeout für die Anforderung.
ERROR_NOT_ENOUGH_MEMORY
Für den angeforderten Vorgang war nicht genügend Arbeitsspeicher verfügbar. (Windows-Fehlercode)

Hinweise

Standardmäßig wird WinHttpReadDataEx zurückgegeben, nachdem eine beliebige Datenmenge in den von Ihnen bereitgestellten Puffer geschrieben wurde (die Funktion füllt den von Ihnen bereitgestellten Puffer nicht immer vollständig aus).

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 10 Build 20348
Unterstützte Mindestversion (Server) Windows 10 Build 20348
Zielplattform Windows
Kopfzeile winhttp.h
Bibliothek Winhttp.lib
DLL Winhttp.dll

Weitere Informationen