WdfObjectAcquireLock 函数 (wdfsync.h)

[适用于 KMDF 和 UMDF]

WdfObjectAcquireLock 方法获取对象的同步锁。

语法

VOID WdfObjectAcquireLock(
  _In_ WDFOBJECT Object
);

参数

[in] Object

框架设备对象的句柄或框架队列对象。

返回值

没有

言论

如果驱动程序提供无效的对象句柄,则会发生 bug 检查。

驱动程序可以调用 WdfObjectAcquireLock 方法来获取与指定框架设备对象或框架队列对象关联的同步锁。 在获取锁之前,该方法不会返回。

当驱动程序不再需要对象的同步锁时,它必须调用 WdfObjectReleaseLock

如果为指定对象的 WDF_OBJECT_ATTRIBUTES 结构的 ExecutionLevel 成员指定的驱动程序 WdfExecutionLevelPassive,驱动程序必须在 IRQL = APC_LEVEL 调用 <。 WdfObjectAcquireLock 获取 快速互斥体 并在调用方 IRQL 处返回。 (在本例中,WdfObjectAcquireLock 还会在返回前调用 KeEnterCriticalRegion,以便禁用 正常内核 APC

如果驱动程序未 为指定对象的WDF_OBJECT_ATTRIBUTES结构的 ExecutionLevel 成员指定 WdfExecutionLevelPassive,驱动程序必须在 IRQL = DISPATCH_LEVEL 调用 <。 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)

另请参阅

WDF_OBJECT_ATTRIBUTES

KeEnterCriticalRegion

WdfObjectReleaseLock