共用方式為


WdfObjectAcquireLock 函式 (wdfsync.h)

[適用於 KMDF 和 UMDF]

WdfObjectAcquireLock 方法會取得物件的同步處理鎖定。

語法

VOID WdfObjectAcquireLock(
  _In_ WDFOBJECT Object
);

參數

[in] Object

架構裝置物件的句柄或架構佇列物件。

傳回值

沒有

言論

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

驅動程式可以呼叫 WdfObjectAcquireLock 方法來取得與指定架構裝置物件或架構佇列物件相關聯的同步處理鎖定。 方法在取得鎖定之前不會傳回。

當驅動程式不再需要物件的同步處理鎖定時,它必須呼叫 WdfObjectReleaseLock

如果驅動程式指定 WdfExecutionLevelPassiveExecutionLevel 指定物件的 WDF_OBJECT_ATTRIBUTES 結構成員,則驅動程式必須在 IRQL <= APC_LEVEL呼叫 WdfObjectAcquireLockWdfObjectAcquireLock 會取得 快速 mutex,並在呼叫端的 IRQL 傳回 。 (在此情況下,WdfObjectAcquireLock 也會在傳回之前呼叫 KeEnterCriticalRegion,讓 一般核心 APC 停用。

如果驅動程式未 為指定物件WDF_OBJECT_ATTRIBUTES結構的 ExecutionLevel 成員指定 WdfExecutionLevelPassive,則驅動程式必須在 IRQL <= DISPATCH_LEVEL 呼叫 WdfObjectAcquireLockWdfObjectAcquireLock 會取得 微調鎖定,並在 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)

另請參閱

WDF_OBJECT_ATTRIBUTES

KeEnterCriticalRegion

WdfObjectReleaseLock