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,仅当以下任一项为 true 时,才会引发 IRQL:
线程已在APC_LEVEL运行。
线程获取之前通过调用 KeEnterCriticalRegion 或 FsRtlEnterFileSystem 例程输入的关键区域中的互斥体。
有关快速互斥体的详细信息,请参阅以下主题:
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 2000 |
标头 | wdm.h |
IRQL | APC_LEVEL |
DDI 符合性规则 | HwStorPortProhibitedDIS(storport) |