IMFDXGIDeviceManager::Metode LockDevice (mfobjects.h)

Memberi penelepon akses eksklusif ke perangkat Microsoft Direct3D.

Sintaks

HRESULT LockDevice(
  [in]  HANDLE hDevice,
  [in]  REFIID riid,
  [out] void   **ppUnkDevice,
  [in]  BOOL   fBlock
);

Parameter

[in] hDevice

Handel ke perangkat Direct3D. Untuk mendapatkan handel perangkat, panggil IMFDXGIDeviceManager::OpenDeviceHandle.

[in] riid

Pengidentifikasi antarmuka (IID) dari antarmuka yang diminta. Perangkat Direct3D akan mendukung antarmuka berikut:

[out] ppUnkDevice

Menerima penunjuk ke antarmuka yang diminta. Pemanggil harus merilis antarmuka.

[in] fBlock

Menentukan apakah akan menunggu kunci perangkat. Jika perangkat sudah dikunci dan parameter ini TRUE, metode akan memblokir hingga perangkat tidak terkunci. Jika tidak, jika perangkat dikunci dan parameter ini FALSE, metode akan segera kembali dengan kode kesalahan DXVA2_E_VIDEO_DEVICE_LOCKED.

Nilai kembali

Metode ini dapat mengembalikan salah satu nilai ini.

Menampilkan kode Deskripsi
S_OK
Berhasil.
E_HANDLE
Handel yang ditentukan bukan handel perangkat Direct3D.
MF_E_DXGI_DEVICE_NOT_INITIALIZED
Manajer Perangkat DXGI tidak diinisialisasi. Pemilik perangkat harus memanggil IMFDXGIDeviceManager::ResetDevice.
MF_E_DXGI_NEW_VIDEO_DEVICE
Handel perangkat tidak valid.
MF_E_DXGI_VIDEO_DEVICE_LOCKED
Perangkat terkunci dan fBlockfalse.

Keterangan

Ketika Anda selesai menggunakan perangkat Direct3D, panggil IMFDXGIDeviceManager::UnlockDevice untuk membuka kunci perangkat.

Jika metode mengembalikan MF_E_DXGI_NEW_VIDEO_DEVICE, panggil IMFDXGIDeviceManager::CloseDeviceHandle untuk menutup handel lalu panggil OpenDeviceHandle lagi untuk mendapatkan handel baru. Metode IMFDXGIDeviceManager::ResetDevice membatalkan semua handel perangkat terbuka.

Jika fBlockTRUE, metode ini berpotensi kebuntuan. Misalnya, akan mengalami kebuntuan jika utas memanggil LockDevice lalu menunggu di utas lain yang memanggil LockDevice. Ini juga akan mengalami kebuntuan jika utas memanggil LockDevice dua kali tanpa memanggil UnlockDevice di antaranya .

Persyaratan

Persyaratan Nilai
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 mfobjects.h (termasuk Mfidl.h)

Lihat juga

IMFDXGIDeviceManager