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) |