Fungsi WdfWaitLockCreate (wdfsync.h)

[Berlaku untuk KMDF dan UMDF]

Metode WdfWaitLockCreate membuat objek kunci tunggu kerangka kerja.

Sintaks

NTSTATUS WdfWaitLockCreate(
  [in, optional] PWDF_OBJECT_ATTRIBUTES LockAttributes,
  [out]          WDFWAITLOCK            *Lock
);

Parameter

[in, optional] LockAttributes

Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang dialokasikan penelepon yang menentukan atribut untuk objek kunci tunggu. Parameter ini bersifat opsional dan dapat WDF_NO_OBJECT_ATTRIBUTES.

[out] Lock

Penunjuk ke lokasi yang menerima handel ke objek kunci tunggu kerangka kerja baru.

Nilai kembali

WdfWaitLockCreate mengembalikan STATUS_SUCCESS jika operasi berhasil.

Untuk daftar nilai pengembalian lain yang mungkin dikembalikan oleh metode WdfWaitLockCreate , lihat Kesalahan Pembuatan Objek Kerangka Kerja.

Metode ini juga dapat mengembalikan nilai NTSTATUS lainnya.

Keterangan

Metode WdfWaitLockCreate membuat objek kunci tunggu kerangka kerja. Setelah membuat objek kunci tunggu, driver dapat memanggil WdfWaitLockAcquire untuk memperoleh kunci dan WdfWaitLockRelease untuk melepaskan kunci.

Secara default, induk objek wait-lock baru adalah objek driver kerangka kerja yang dibuat metode WdfDriverCreate . Anda dapat menggunakan anggota ParentObject dari struktur WDF_OBJECT_ATTRIBUTES untuk menentukan induk yang berbeda. Kerangka kerja menghapus objek wait-lock saat menghapus objek induk. Jika driver Anda tidak mengubah induk default, driver harus menghapus objek wait-lock setelah selesai menggunakan objek ; jika tidak, objek akan tetap ada sampai manajer I/O membongkar driver Anda.

Untuk informasi selengkapnya tentang kunci tunggu, lihat Teknik Sinkronisasi untuk driver Framework-Based.

Contoh

Contoh kode berikut menginisialisasi WDF_OBJECT_ATTRIBUTES, menentukan bahwa objek induk kunci tunggu akan menjadi objek perangkat, dan memanggil WdfWaitLockCreate.

WDF_OBJECT_ATTRIBUTES attributes;
WDFWAITLOCK lockHandle;

WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = Device;
status = WdfWaitLockCreate(
                           &attributes,
                           &lockHandle
                           );

Persyaratan

Persyaratan Nilai
Target Platform Universal
Versi KMDF minimum 1,0
Versi UMDF minimum 2.0
Header wdfsync.h (termasuk Wdf.h)
Pustaka Wdf01000.sys (KMDF); WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
Aturan kepatuhan DDI DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), ParentObjectCheckLock(kmdf)

Lihat juga

WDF_OBJECT_ATTRIBUTES

WdfDriverBuat

WdfWaitLockAcquire

WdfWaitLockRelease