Fungsi HttpCreateRequestQueue (http.h)
Fungsi HttpCreateRequestQueue membuat antrean permintaan baru atau membuka antrean permintaan yang ada.
Fungsi ini menggantikan fungsi HTTP versi 1.0 HttpCreateHttpHandle .
Sintaks
HTTPAPI_LINKAGE ULONG HttpCreateRequestQueue(
[in] HTTPAPI_VERSION Version,
[in, optional] PCWSTR Name,
[in, optional] PSECURITY_ATTRIBUTES SecurityAttributes,
[in, optional] ULONG Flags,
[out] PHANDLE RequestQueueHandle
);
Parameter
[in] Version
Struktur HTTPAPI_VERSION yang menunjukkan versi antrean permintaan. Untuk versi 2.0, deklarasikan instans struktur dan atur ke nilai yang telah ditentukan sebelumnya HTTPAPI_VERSION_2 sebelum meneruskannya ke HttpCreateRequestQueue.
Versi harus 2.0; HttpCreateRequestQueue tidak mendukung antrean permintaan versi 1.0.
[in, optional] Name
Nama antrean permintaan. Panjangnya, dalam byte, tidak boleh melebihi MAX_PATH.
Parameter nama opsional memungkinkan proses lain untuk mengakses antrean permintaan berdasarkan nama.
[in, optional] SecurityAttributes
Penunjuk ke struktur SECURITY_ATTRIBUTES yang berisi izin akses untuk antrean permintaan.
Parameter ini harus NULL saat membuka antrean permintaan yang ada.
[in, optional] Flags
Parameter bendera menentukan cakupan antrean permintaan. Parameter ini dapat berupa satu atau beberapa hal berikut:
[out] RequestQueueHandle
Penunjuk ke variabel yang menerima handel ke antrean permintaan. Parameter ini harus berisi penunjuk yang valid; tidak boleh NULL.
Nilai kembali
Jika fungsi berhasil, fungsi akan mengembalikan NO_ERROR
Jika fungsi gagal, fungsi mengembalikan salah satu kode kesalahan berikut.
Nilai | Makna |
---|---|
|
Parameter Versi berisi versi yang tidak valid. |
|
Panjang, dalam byte, dari nama antrean permintaan tidak boleh melebihi MAX_PATH.
Parameter pSecurityAttributes harus NULL saat membuka antrean permintaan yang ada. HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER hanya dapat diatur saat antrean permintaan dibuat. HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING hanya dapat diatur ketika aplikasi memiliki izin untuk membuka antrean permintaan yang ada. Dalam hal ini, parameter pReqQueueHandle harus berupa pointer yang valid, dan parameter pName harus berisi nama antrean permintaan yang valid; tidak boleh NULL. Parameter pReqQueueHandle yang dikembalikan oleh HttpCreateRequestQueue adalah NULL. |
|
Parameter pName bertentangan dengan antrean permintaan yang ada yang berisi nama yang identik. |
|
Proses panggilan tidak memiliki izin untuk membuka antrean permintaan. |
|
Aplikasi belum memanggil HttpInitialize sebelum memanggil HttpCreateRequestQueue. |
Keterangan
HTTP Server API mendukung aplikasi yang ada menggunakan antrean permintaan versi 1.0, namun, pengembangan baru dengan HTTP Server API harus menggunakan HttpCreateRequestQueue untuk membuat antrean permintaan; HttpCreateHttpHandle tidak boleh digunakan. API versi 2.0 hanya kompatibel dengan antrean permintaan versi 2.0 yang dibuat oleh HttpCreateRequestQueue.
Antrean permintaan HTTP versi 2 memerlukan konfigurasi manual; aplikasi harus membuat Grup URL dan mengaitkan satu atau beberapa Grup URL dengan antrean permintaan dengan memanggil HttpSetUrlGroupProperty dengan HttpServerBindingProperty. Aplikasi mengonfigurasi antrean permintaan dengan memanggil HttpSetRequestQueueProperty dengan konfigurasi yang diinginkan dalam parameter Properti . Untuk informasi selengkapnya tentang membuat dan mengonfigurasi grup URL, lihat HttpCreateUrlGroup dan HttpSetUrlGroupProperty.
Atribut keamanan dapat disediakan dalam parameter pSecurityAttributes hanya ketika antrean permintaan dibuat. Hanya aplikasi yang membuat antrean permintaan yang dapat mengatur Access Control Lists (ACL) pada handel antrean permintaan untuk memungkinkan proses (selain aplikasi pembuat) izin untuk membuka, menerima permintaan, dan mengirim respons pada handel antrean permintaan. Secara default, aplikasi tidak diizinkan untuk membuka antrean permintaan kecuali telah diberikan izin di ACL.
Proses pembuat dapat secara opsional menggunakan bendera HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER untuk menunjukkan bahwa ia tidak ingin menerima permintaan http.
HttpCreateRequestQueue memungkinkan aplikasi untuk membuka antrean permintaan yang ada dengan bendera HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING dan mengambil handel ke antrean permintaan. Aplikasi non-pengontrol dapat menggunakan handel ini untuk melakukan operasi I/O HTTP. Hanya aplikasi yang membuat antrean permintaan yang dapat mengatur properti di dalamnya dengan memanggil HttpSetRequestQueueProperty.
Handel ke antrean permintaan yang dibuat oleh HttpCreateRequestQueue harus ditutup dengan memanggil HttpCloseRequestQueue sebelum aplikasi berakhir atau ketika sesi tidak lagi diperlukan.
Aplikasi harus memanggil HttpInitialize sebelum memanggil HttpCreateRequestQueue.
Persyaratan
Persyaratan | Nilai |
---|---|
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 |