ExAcquireFastMutexUnsafe 函数 (wdm.h)
ExAcquireFastMutexUnsafe 例程为调用线程获取指定的快速互斥体。
语法
void ExAcquireFastMutexUnsafe(
PFAST_MUTEX FastMutex
);
参数
FastMutex
[in, out]指向调用方为其提供存储 的FAST_MUTEX) 结构的指针。 调用方以前通过调用 ExInitializeFastMutex 例程来初始化此结构
返回值
无
备注
如果无法立即获取指定的快速互斥体,ExAcquireFastMutexUnsafe 会将调用方置于等待状态。 否则,调用方将获得互斥锁的所有权和对互斥体保护的资源的独占访问权限,直到调用方释放互斥。
通过调用 ExAcquireFastMutexUnsafe 获取的任何快速互斥体都必须通过调用 ExReleaseFastMutexUnsafe 例程来释放。
ExAcquireFastMutex 和 ExAcquireFastMutexUnsafe 例程会导致调用线程阻塞,直到互斥可用。 如果另一个线程已获取互斥体, ExTryToAcquireFastMutex 例程会立即返回返回值 FALSE 。 在获取快速互斥之前, ExAcquireFastMutex 和 ExTryToAcquireFastMutex 会将 IRQL 提升为APC_LEVEL。 驱动程序应使用 ExAcquireFastMutexUnsafe,它不会引发 IRQL,仅当以下任一项为 true 时:
线程已在APC_LEVEL运行。
线程获取之前通过调用 KeEnterCriticalRegion 或 FsRtlEnterFileSystem 例程进入的关键区域内的互斥体。
有关快速互斥的详细信息,请参阅以下主题:
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 |
标头 | wdm.h |
IRQL | APC_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDDI (storport) |