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
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