Bagikan melalui


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

WDF_OBJECT_ATTRIBUTES

WdfDriverBuat

WdfSpinLockAcquire

WdfSpinLockRelease

Aturan WdfSpinlock (KMDF)

Aturan WdfSpinLockRelease (KMDF)