WdfObjectAcquireLock 函式 (wdfsync.h)
[適用於 KMDF 和 UMDF]
WdfObjectAcquireLock 方法會取得物件的同步處理鎖定。
語法
VOID WdfObjectAcquireLock(
_In_ WDFOBJECT Object
);
參數
[in] Object
架構裝置物件的句柄或架構佇列物件。
傳回值
沒有
言論
如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。
驅動程式可以呼叫 WdfObjectAcquireLock 方法來取得與指定架構裝置物件或架構佇列物件相關聯的同步處理鎖定。 方法在取得鎖定之前不會傳回。
當驅動程式不再需要物件的同步處理鎖定時,它必須呼叫 WdfObjectReleaseLock。
如果驅動程式指定 WdfExecutionLevelPassiveExecutionLevel 指定物件的 WDF_OBJECT_ATTRIBUTES 結構成員,則驅動程式必須在 IRQL <= APC_LEVEL呼叫 WdfObjectAcquireLock。 WdfObjectAcquireLock 會取得 快速 mutex,並在呼叫端的 IRQL 傳回 。 (在此情況下,WdfObjectAcquireLock 也會在傳回之前呼叫 KeEnterCriticalRegion,讓 一般核心 APC 停用。
如果驅動程式未 未 為指定物件WDF_OBJECT_ATTRIBUTES結構的 ExecutionLevel 成員指定 WdfExecutionLevelPassive,則驅動程式必須在 IRQL <= DISPATCH_LEVEL 呼叫 WdfObjectAcquireLock。 WdfObjectAcquireLock 會取得 微調鎖定,並在 IRQL = DISPATCH_LEVEL傳回。
如需同步鎖定的詳細資訊,請參閱 Framework-Based 驅動程式的同步處理技術。
要求
要求 | 價值 |
---|---|
目標平臺 | 普遍 |
最低 KMDF 版本 | 1.0 |
最低 UMDF 版本 | 2.0 |
標頭 | wdfsync.h (包括 Wdf.h) |
IRQL | 請參閱一節。 |
DDI 合規性規則 | DriverCreate(kmdf),KmdfIrql(kmdf),KmdfIrql2(kmdf),KmdfIrqlExplicit(kmdf) |