Fungsi WinHttpReadDataEx (winhttp.h)
Membaca data dari handel yang dibuka oleh fungsi WinHttpOpenRequest .
Sintaks
WINHTTPAPI DWORD WinHttpReadDataEx(
HINTERNET hRequest,
LPVOID lpBuffer,
DWORD dwNumberOfBytesToRead,
LPDWORD lpdwNumberOfBytesRead,
ULONGLONG ullFlags,
DWORD cbProperty,
PVOID pvProperty
);
Parameter
hRequest
Jenis: DI HINTERNET
Handel HINTERNET yang dikembalikan dari panggilan sebelumnya ke WinHttpOpenRequest.
WinHttpReceiveResponse atau WinHttpQueryDataAvailable harus dipanggil untuk handel ini dan harus telah selesai sebelum WinHttpReadDataEx dipanggil. Meskipun memanggil WinHttpReadDataEx segera setelah penyelesaian WinHttpReceiveResponse menghindari pengeluaran salinan buffer, melakukannya mengharuskan aplikasi Anda menggunakan buffer panjang tetap untuk membaca.
lpBuffer
Jenis: _Out_writes_bytes_to_(dwNumberOfBytesToRead, *lpdwNumberOfBytesRead) __out_data_source(NETWORK) LPVOID
Penunjuk ke buffer yang menerima data yang dibaca. Pastikan buffer ini tetap valid hingga WinHttpReadDataEx selesai.
dwNumberOfBytesToRead
Jenis: IN DWORD
Nilai bilangan bulat panjang yang tidak ditandatangani yang berisi jumlah byte yang akan dibaca.
lpdwNumberOfBytesRead
Jenis: OUT LPDWORD
Penunjuk ke variabel bilangan bulat panjang yang tidak ditandatangani yang menerima jumlah byte yang dibaca. WinHttpReadDataEx mengatur nilai ini ke nol sebelum melakukan pemeriksaan kesalahan atau pekerjaan apa pun. Saat menggunakan WinHTTP secara asinkron, selalu atur parameter ini ke NULL dan ambil informasi dalam fungsi panggilan balik; tidak melakukannya dapat menyebabkan kesalahan memori.
ullFlags
Jenis: DI ULONGLONG
Jika Anda lulus WINHTTP_READ_DATA_EX_FLAG_FILL_BUFFER, maka WinHttp tidak akan menyelesaikan panggilan ke WinHttpReadDataEx hingga buffer data yang disediakan telah terisi, atau respons selesai. Meneruskan bendera ini membuat perilaku API ini setara dengan WinHttpReadData.
cbProperty
Jenis: IN DWORD
Dicadangkan. Lulus 0.
pvProperty
Jenis: _In_reads_bytes_opt_(cbProperty) PVOID
Dicadangkan. Lulus NULL.
Nilai kembali
Kode status yang menunjukkan hasil operasi. Di antara kode kesalahan yang dikembalikan adalah sebagai berikut.
Kode Kesalahan | Deskripsi |
---|---|
|
Koneksi dengan server telah direset atau dihentikan, atau protokol SSL yang tidak kompatibel ditemukan. Misalnya, WinHTTP 5.1 tidak mendukung SSL2 kecuali klien secara khusus mengaktifkannya. |
|
Operasi yang diminta tidak dapat dilakukan karena handel yang diberikan tidak dalam keadaan yang benar. |
|
Jenis handel yang disediakan salah untuk operasi ini. |
|
Terjadi kesalah internal. |
|
Operasi dibatalkan, biasanya karena handel tempat permintaan beroperasi ditutup sebelum operasi selesai. |
|
Dikembalikan saat respons masuk melebihi batas ukuran WinHTTP internal. |
|
Waktu permintaan habis. |
|
Memori tidak cukup tersedia untuk menyelesaikan operasi yang diminta. (Kode galat Windows) |
Keterangan
Secara default, WinHttpReadDataEx kembali setelah sejumlah data ditulis ke buffer yang Anda berikan (fungsi tidak akan selalu sepenuhnya mengisi buffer yang Anda sediakan).
Persyaratan
Klien minimum yang didukung | Windows 10 Build 20348 |
Server minimum yang didukung | Windows 10 Build 20348 |
Target Platform | Windows |
Header | winhttp.h |
Pustaka | Winhttp.lib |
DLL | Winhttp.dll |