Fungsi WdfSpinLockCreate (wdfsync.h)
[Berlaku untuk KMDF dan UMDF]
Metode WdfSpinLockCreate membuat objek kunci putar kerangka kerja.
Sintaks
NTSTATUS WdfSpinLockCreate(
[in, optional] PWDF_OBJECT_ATTRIBUTES SpinLockAttributes,
[out] WDFSPINLOCK *SpinLock
);
Parameter
[in, optional] SpinLockAttributes
Penunjuk ke struktur WDF_OBJECT_ATTRIBUTES yang dialokasikan penelepon yang menentukan atribut untuk objek spin-lock. Parameter ini bersifat opsional dan dapat WDF_NO_OBJECT_ATTRIBUTES.
[out] SpinLock
Penunjuk ke lokasi yang menerima handel ke objek spin-lock kerangka kerja baru.
Nilai kembali
WdfSpinLockCreate mengembalikan STATUS_SUCCESS jika operasi berhasil.
Untuk daftar nilai pengembalian lain yang mungkin dikembalikan metode WdfSpinLockCreate , lihat Kesalahan Pembuatan Objek Kerangka Kerja.
Metode ini juga mungkin mengembalikan nilai NTSTATUS lainnya.
Keterangan
Metode WdfSpinLockCreate membuat objek kunci putar kerangka kerja. Setelah membuat objek spin-lock, driver dapat memanggil WdfSpinLockAcquire untuk memperoleh kunci dan WdfSpinLockRelease untuk melepaskan kunci.
Secara default, induk objek spin-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 kunci putar saat menghapus objek induk. Jika driver Anda tidak mengubah induk default, driver harus menghapus objek spin-lock ketika selesai menggunakan objek ; jika tidak, objek akan tetap ada sampai manajer I/O membongkar driver Anda.
Untuk informasi selengkapnya tentang kunci putaran, lihat Teknik Sinkronisasi untuk Driver Framework-Based.
Contoh
Contoh kode berikut menginisialisasi WDF_OBJECT_ATTRIBUTES, menentukan bahwa objek induk kunci putar akan menjadi objek perangkat, dan memanggil WdfSpinLockCreate.
WDF_OBJECT_ATTRIBUTES attributes;
WDFSPINLOCK lockHandle;
WDF_OBJECT_ATTRIBUTES_INIT(&attributes);
attributes.ParentObject = Device;
status = WdfSpinLockCreate(
&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), WdfSpinlock(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