Bagikan melalui


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
ERROR_INVALID_PARAMETER
Parameter ReqQueueHandle tidak berisi antrean permintaan yang valid.
ERROR_INVALID_ID_AUTHORITY
Proses panggilan bukan proses pengontrol untuk antrean permintaan ini.
ERROR_INVALID_HANDLE
Proses panggilan telah memulai pematian pada antrean permintaan atau telah menutup handel antrean permintaan.
ERROR_ALREADY_EXISTS
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

Lihat juga

Fungsi HTTP Server API Versi 2.0

HttpCloseRequestQueue

HttpCreateRequestQueue

HttpQueryRequestQueueProperty

HttpSetRequestQueueProperty

HttpShutdownRequestQueue