Fungsi HttpWaitForDemandStart (http.h)
Fungsi HttpWaitForDemandStart menunggu kedatangan permintaan baru yang dapat dilayani oleh proses antrean permintaan baru.
Sintaks
HTTPAPI_LINKAGE ULONG HttpWaitForDemandStart(
[in] HANDLE RequestQueueHandle,
[in, optional] LPOVERLAPPED Overlapped
);
Parameter
[in] RequestQueueHandle
Handel ke antrean permintaan tempat permintaan dimulai didaftarkan. Antrean permintaan dibuat dan handelnya dikembalikan oleh panggilan ke fungsi HttpCreateRequestQueue .
[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 permintaan tiba dalam antrean yang ditentukan, 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.
Menampilkan nilai
Jika fungsi berhasil, fungsi akan mengembalikan NO_ERROR.
Jika fungsi gagal, fungsi akan mengembalikan salah satu kode kesalahan berikut.
Nilai | Makna |
---|---|
|
Parameter ReqQueueHandle tidak berisi antrean permintaan yang valid. |
|
Proses panggilan bukan proses pengontrol untuk antrean permintaan ini. |
|
Proses panggilan telah memulai pematian pada antrean permintaan atau telah menutup handel antrean permintaan. |
|
Pendaftaran mulai permintaan sudah ada untuk antrean permintaan. |
Keterangan
Hanya proses pengontrol yang dapat memanggil HttpWaitForDemandStart untuk mendaftarkan pemberitahuan mulai permintaan. Proses pengontrol adalah proses yang membuat antrean permintaan dan menunjukkan bahwa itu adalah proses pengontrol dengan melewati bendera HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER . Jika proses selain proses pengontrol memanggil HttpWaitForDemandStart, API Server HTTP mengembalikan ERROR_INVALID_ID_AUTHORITY.
HttpWaitForDemandStart selesai ketika permintaan baru tiba untuk antrean permintaan yang ditentukan. Saat ini, proses pengontrol dapat menggunakan API ini untuk memulai proses pekerja baru ke permintaan server yang tertunda. Awal proses pekerja yang tertunda memungkinkan aplikasi untuk menghindari penggunaan sumber daya hingga diperlukan.
HTTP Server API hanya memungkinkan satu pemberitahuan luar biasa yang terdaftar pada antrean permintaan kapan saja. HTTP Server API tidak memberlakukan batasan pada berapa kali HttpWaitForDemandStart dapat dipanggil pada antrean permintaan yang sama secara berturut-turut. Tidak ada batasan jumlah proses terutang yang bekerja pada antrean permintaan yang sama.
HTTP Server API mendukung pembatalan panggilan HttpWaitForDemandStart asinkron. Aplikasi dapat menggunakan CancelIoEx dengan struktur tumpang tindih yang disediakan dalam parameter pOverlapped , untuk membatalkan panggilan HttpWaitForDemandStart yang luar biasa.
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | http.h |
Pustaka | Httpapi.lib |
DLL | Httpapi.dll |