Fungsi CreateDispatcherQueueController (dispatcherqueue.h)
Membuat DispatcherQueueController. Gunakan DispatcherQueueController yang dibuat untuk membuat dan mengelola masa pakai DispatcherQueue untuk menjalankan tugas yang diantrekan dalam urutan prioritas pada utas antrean dispatcher.
HRESULT CreateDispatcherQueueController(
[in] DispatcherQueueOptions options,
[out] PDISPATCHERQUEUECONTROLLER *dispatcherQueueController
);
[in] options
Afinitas threading dan jenis apartemen COM untuk DispatcherQueueController yang dibuat. Lihat keterangan untuk detailnya.
[out] dispatcherQueueController
Pengontrol antrean dispatcher yang dibuat.
S_OK untuk sukses; jika tidak, kode kegagalan.
Diperkenalkan dalam Windows 10, versi 1709.
Jika options.threadTypeDQTYPE_THREAD_DEDICATED, maka fungsi ini membuat utas, menginisialisasinya dengan apartemen COM yang ditentukan, dan mengaitkan DispatcherQueue dengan utas tersebut. Perulangan peristiwa antrean dispatcher berjalan pada utas khusus baru hingga antrean dispatcher dimatikan secara eksplisit. Untuk menghindari kebocoran utas dan memori, panggil DispatcherQueueController.ShutdownQueueAsync saat Anda selesai dengan antrean dispatcher.
Jika options.threadTypeDQTYPE_THREAD_CURRENT, maka DispatcherQueue dibuat dan dikaitkan dengan utas saat ini. Kesalahan menghasilkan jika sudah ada DispatcherQueue yang terkait dengan utas saat ini. Utas saat ini harus memompa pesan untuk memungkinkan antrean dispatcher mengirimkan tugas. Sebelum utas saat ini keluar, alur harus memanggil DispatcherQueueController.ShutdownQueueAsync, dan melanjutkan pemompaan pesan hingga IAsyncAction selesai.
Panggilan ini tidak kembali sampai DispatcherQueueController dan utas baru (jika ada) dibuat.
Target Platform | Windows |
Header | dispatcherqueue.h |
Pustaka | CoreMessaging.lib |
DLL | CoreMessaging.dll |