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 結構的指標,指定等候鎖定對象的屬性。 此參數是選擇性的,而且可以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 物件。 如果您的驅動程式未變更預設父代,則驅動程式在使用 物件完成時,應該刪除等候鎖定物件;否則,對象會維持不變,直到 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
                           );

規格需求

需求
目標平台 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)

另請參閱

WDF_OBJECT_ATTRIBUTES

WdfDriverCreate

WdfWaitLockAcquire

WdfWaitLockRelease