共用方式為


WdfWaitLockCreate 函式 (wdfsync.h)

[適用於 KMDF 和 UMDF]

WdfWaitLockCreate 方法會建立架構 wait-lock 物件。

語法

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

參數

[in, optional] LockAttributes

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

[out] Lock

接收新架構等候鎖定物件句柄之位置的指標。

傳回值

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

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

此方法也可能 傳回其他NTSTATUS 值。

言論

WdfWaitLockCreate 方法會建立架構 wait-lock 物件。 建立等候鎖定對象之後,驅動程式可以呼叫 WdfWaitLockAcquire 來取得鎖定,並 WdfWaitLockRelease 釋放鎖定。

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

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

例子

下列程式代碼範例會初始化 WDF_OBJECT_ATTRIBUTES,指定等候鎖定的父物件將是裝置物件,並呼叫 WdfWaitLockCreate

WDF_OBJECT_ATTRIBUTES attributes;
WDFWAITLOCK lockHandle;

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

要求

要求 價值
目標平臺 普遍
最低 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)

另請參閱

WDF_OBJECT_ATTRIBUTES

WdfDriverCreate

WdfWaitLockAcquire

WdfWaitLockRelease