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 |
---|---|
|
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. |
|
Der angeforderte Vorgang kann nicht ausgeführt werden, da sich der angegebene Handle nicht im richtigen Zustand befindet. |
|
Der Typ des angegebenen Handles ist für diesen Vorgang falsch. |
|
Ein interner Fehler ist aufgetreten. |
|
Der Vorgang wurde abgebrochen, in der Regel, weil der Handle, an dem die Anforderung ausgeführt wurde, vor Abschluss des Vorgangs geschlossen wurde. |
|
Wird zurückgegeben, wenn eine eingehende Antwort ein internes WinHTTP-Größenlimit überschreitet. |
|
Timeout für die Anforderung. |
|
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 |