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:

Nilai Makna
HTTP_CREATE_REQUEST_QUEUE_FLAG_CONTROLLER
Handel ke antrean permintaan yang dibuat menggunakan bendera ini tidak dapat digunakan untuk melakukan operasi I/O. Bendera ini hanya dapat diatur ketika handel antrean permintaan dibuat.
HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING
Bendera HTTP_CREATE_REQUEST_QUEUE_FLAG_OPEN_EXISTING memungkinkan aplikasi untuk membuka antrean permintaan yang ada berdasarkan nama dan mengambil handel antrean permintaan. Parameter pName harus berisi nama antrean permintaan yang valid; tidak boleh NULL.

[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
ERROR_REVISION_MISMATCH
Parameter Versi berisi versi yang tidak valid.
ERROR_INVALID_PARAMETER
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.

ERROR_ALREADY_EXISTS
Parameter pName bertentangan dengan antrean permintaan yang ada yang berisi nama yang identik.
ERROR_ACCESS_DENIED
Proses panggilan tidak memiliki izin untuk membuka antrean permintaan.
ERROR_DLL_INIT_FAILED
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

Lihat juga

Fungsi HTTP Server API Versi 2.0

HttpCloseRequestQueue

HttpCreateHttpHandle

HttpQueryRequestQueueProperty

HttpSetRequestQueueProperty

HttpShutdownRequestQueue