Fungsi HttpReceiveRequestEntityBody (http.h)
Fungsi HttpReceiveRequestEntityBody menerima data badan entitas tambahan untuk permintaan HTTP tertentu.
Sintaks
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
Handel ke antrean permintaan untuk mengambil data isi entitas yang ditentukan. Antrean permintaan dibuat dan handelnya dikembalikan oleh panggilan ke fungsi HttpCreateRequestQueue .
Windows Server 2003 dengan SP1 dan Windows XP dengan SP2: Handel ke antrean permintaan dibuat oleh fungsi HttpCreateHttpHandle .
[in] RequestId
Pengidentifikasi permintaan HTTP yang berisi isi entitas yang diambil. Nilai ini dikembalikan dalam anggota RequestId dari struktur HTTP_REQUEST dengan panggilan ke fungsi HttpReceiveHttpRequest . Nilai ini tidak dapat HTTP_NULL_ID.
[in] Flags
Parameter ini bisa menjadi nilai bendera berikut.
Windows Server 2003 dengan SP1 dan Windows XP dengan SP2: Parameter ini dicadangkan dan harus nol.
Nilai | Makna |
---|---|
|
Menentukan bahwa buffer akan diisi dengan satu atau beberapa badan entitas, kecuali tidak ada badan entitas yang tersisa untuk disalin. |
[out] EntityBuffer
Penunjuk ke buffer yang menerima data badan entitas.
[in] EntityBufferLength
Ukuran, dalam byte, dari buffer yang diacu oleh parameter pBuffer .
[out, optional] BytesReturned
Opsional. Penunjuk ke variabel yang menerima ukuran, dalam byte, dari data isi entitas yang dikembalikan dalam buffer pBuffer .
Saat melakukan panggilan asinkron menggunakan pOverlapped, atur pBytesReceived ke NULL. Jika tidak, ketika pOverlapped diatur ke NULL, pBytesReceived harus berisi alamat memori yang valid, dan tidak diatur ke NULL.
[in, optional] Overlapped
Untuk panggilan asinkron, atur pOverlapped untuk menunjuk ke struktur YANG TUMPANG TINDIH ; untuk panggilan sinkron, atur ke NULL.
Panggilan sinkron memblokir hingga data isi entitas diambil, sedangkan panggilan asinkron segera mengembalikan ERROR_IO_PENDING dan aplikasi panggilan kemudian menggunakan port penyelesaian GetOverlappedResult atau I/O untuk menentukan kapan operasi selesai. Untuk informasi selengkapnya tentang menggunakan struktur YANG TUMPANG TINDIH untuk sinkronisasi, lihat Sinkronisasi dan Input dan Output yang Tumpang Tindih.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan adalah NO_ERROR.
Jika fungsi digunakan secara asinkron, nilai pengembalian ERROR_IO_PENDING menunjukkan bahwa permintaan berikutnya belum siap dan diambil nanti melalui mekanisme penyelesaian I/O yang tumpang tindih normal.
Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.
Nilai | Makna |
---|---|
|
Satu atau beberapa parameter yang disediakan berada dalam bentuk yang tidak dapat digunakan. |
|
Badan entitas yang ditentukan telah diambil sepenuhnya; dalam hal ini, nilai yang ditunjukkan oleh pBytesReceived tidak bermakna, dan pBuffer tidak boleh diperiksa. |
|
Aplikasi panggilan tidak memanggil HttpInitialize sebelum memanggil fungsi ini. |
|
Kode kesalahan sistem yang ditentukan dalam WinError.h. |
Keterangan
Untuk mengambil seluruh isi entitas, aplikasi diharapkan memanggil HttpReceiveRequestEntityBody, melewati buffer baru, hingga fungsi kembali ERROR_HANDLE_EOF. Selama buffer yang penuh dengan data isi entitas berhasil disalin dan masih ada lebih banyak data badan entitas yang menunggu untuk diambil, fungsi mengembalikan NO_ERROR.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista, Windows XP dengan SP2 [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | http.h |
Pustaka | Httpapi.lib |
DLL | Httpapi.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk