共用方式為


WdfSpinLockCreate 函式 (wdfsync.h)

[適用於 KMDF 和 UMDF]

WdfSpinLockCreate 方法會建立架構 Spin-lock 物件。

語法

NTSTATUS WdfSpinLockCreate(
  [in, optional] PWDF_OBJECT_ATTRIBUTES SpinLockAttributes,
  [out]          WDFSPINLOCK            *SpinLock
);

參數

[in, optional] SpinLockAttributes

呼叫端配置的 WDF_OBJECT_ATTRIBUTES 結構的指標,指定微調鎖定對象的屬性。 這個參數是選擇性的,而且可以WDF_NO_OBJECT_ATTRIBUTES。

[out] SpinLock

接收新架構微調鎖定物件句柄的位置指標。

傳回值

如果作業成功,WdfSpinLockCreate 會傳回STATUS_SUCCESS。

如需 WdfSpinLockCreate 方法可能會傳回的其他傳回值清單,請參閱 Framework 物件建立錯誤

這個方法也可能傳回其他 NTSTATUS值

備註

WdfSpinLockCreate 方法會建立架構 Spin-lock 物件。 建立微調鎖定對象之後,驅動程式可以呼叫 WdfSpinLockAcquire 來取得鎖定和 WdfSpinLockRelease 以釋放鎖定。

根據預設,新的微調鎖定物件的父系是 WdfDriverCreate 方法建立的架構驅動程序物件。 您可以使用 WDF_OBJECT_ATTRIBUTES 結構的 ParentObject 成員來指定不同的父代。 架構會在刪除父物件時刪除微調鎖定物件。 如果您的驅動程式未變更預設父代,則驅動程式應該在使用 物件完成時刪除微調鎖定物件;否則,對象會維持不變,直到 I/O 管理員卸除您的驅動程序為止。

如需微調鎖定的詳細資訊,請參閱 Framework-Based 驅動程式的同步處理技術

範例

下列程式代碼範例會初始化 WDF_OBJECT_ATTRIBUTES,指定微調鎖定的父物件會是裝置物件,並呼叫 WdfSpinLockCreate

WDF_OBJECT_ATTRIBUTES attributes;
WDFSPINLOCK lockHandle;

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

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
最低UMDF版本 2.0
標頭 wdfsync.h (包含 Wdf.h)
程式庫 Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate (kmdf) KmdfIrql (kmdf) KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf) 、 ParentObjectCheckLock (kmdf) WdfSpinlock (kmdf)

另請參閱

WDF_OBJECT_ATTRIBUTES

WdfDriverCreate

WdfSpinLockAcquire

WdfSpinLockRelease

(KMDF) WdfSpinlock 規則

WdfSpinLockRelease 規則 (KMDF)