Fungsi MFLockSharedWorkQueue (mfapi.h)
Mendapatkan dan mengunci antrean kerja bersama.
Sintaks
HRESULT MFLockSharedWorkQueue(
[in] PCWSTR wszClass,
[in] LONG BasePriority,
[in, out] DWORD *pdwTaskId,
[out] DWORD *pID
);
Parameter
[in] wszClass
Nama tugas MMCSS.
[in] BasePriority
Prioritas dasar utas antrean kerja.
Jika antrean prioritas reguler sedang digunakan (wszClass=""), maka nilai 0 harus diteruskan.
[in, out] pdwTaskId
Pengidentifikasi tugas MMCSS. Pada input, tentukan ID grup tugas MCCSS yang ada, atau gunakan nilai nol untuk membuat grup tugas baru. Jika antrean prioritas reguler sedang digunakan (wszClass=""), maka NULL harus diteruskan. Pada output, menerima ID grup tugas aktual.
[out] pID
Menerima pengidentifikasi untuk antrean kerja baru. Gunakan pengidentifikasi ini saat mengantre item kerja.
Menampilkan nilai
Jika fungsi ini berhasil, fungsi akan mengembalikan S_OK. Jika tidak, kode kesalahan HRESULT akan dikembalikan.
Keterangan
Antrean kerja multithread menggunakan kumpulan utas untuk mengirimkan item kerja. Setiap kali utas tersedia, alur akan menghapus antrean item kerja berikutnya dari antrean. Item kerja di-dequeued dalam urutan first-in-first-out, tetapi item kerja tidak diserialisasikan. Dengan kata lain, antrean kerja tidak menunggu item kerja selesai sebelum memulai item kerja berikutnya.
Dalam satu proses, platform Microsoft Media Foundation membuat hingga satu antrean multithread untuk setiap tugas Multimedia Class Scheduler Service (MMCSS). Fungsi MFLockSharedWorkQueue memeriksa apakah antrean kerja yang cocok sudah ada. Jika tidak, fungsi membuat antrean kerja baru dan mendaftarkan antrean kerja dengan MMCSS. Fungsi mengembalikan pengidentifikasi tugas MMCSS (pdwTaskId) dan pengidentifikasi antrean kerja (pID). Untuk mengantrekan item kerja, teruskan pengidentifikasi antrean kerja ke salah satu fungsi berikut:
Fungsi MFLockSharedWorkQueue juga mengunci antrean. Sebelum proses keluar, panggil MFUnlockWorkQueue untuk membuka kunci antrean kerja.Jika antrean prioritas reguler sedang digunakan (wszClass=""), maka NULL harus diteruskan ke pdwTaskId dan nilai 0 harus diteruskan ke BasePriority.
Persyaratan
Klien minimum yang didukung | Windows 8 [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2012 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | mfapi.h |
Pustaka | Mfplat.lib |
DLL | Mfplat.dll |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk