Bagikan melalui


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

Fungsi Media Foundation

Peningkatan Antrean dan Utas Kerja

Antrean Kerja