ExTryToAcquireFastMutex 函数 (wdm.h)

ExTryToAcquireFastMutex 例程在禁用当前线程的 APC 的情况下获取给定的快速互斥体(如果可能)。

语法

BOOLEAN ExTryToAcquireFastMutex(
  PFAST_MUTEX FastMutex
);

参数

FastMutex

[in, out]指向要获取的快速互斥体(如果当前不为另一个线程拥有)的指针。

返回值

如果当前线程被授予快速互斥体的所有权,ExTryToAcquireFastMutex 将返回 TRUE

注解

如果给定的快速互斥体当前未拥有, ExTryToAcquireFastMutex 会将具有 APC 的调用方所有权提供给当前线程禁用,直到它释放快速互斥。

如果当前线程必须先等待获取给定互斥体,然后才能执行有用的工作,请使用 ExAcquireFastMutex

使用 ExTryToAcquireFastMutexExAcquireFastMutex 获取的任何快速互斥体都必须使用 ExReleaseFastMutex 释放。

有关快速互斥的详细信息,请参阅 快速互斥体和受保护的互斥体

ExTryToAcquireFastMutex 的调用方必须在 IRQL <= APC_LEVEL 运行。 如果获取互斥体,ExTryToAcquireFastMutex 会将 IRQL 设置为 APC_LEVEL,并且调用方在 ExTryToAcquireFastMutex 返回后继续在 APC_LEVEL 运行。 但是,如果成功,ExTryToAcquireFastMutex 会将调用方以前的 IRQL 保存在互斥中,当调用方调用 ExReleaseFastMutex 时,IRQL 将还原。

要求

要求
最低受支持的客户端 Windows 2000
标头 wdm.h
IRQL <= APC_LEVEL
DDI 符合性规则 HwStorPortProhibitedDDI (storport) IrqlExApcLte1 (wdm)

另请参阅

FAST_MUTEX

ExAcquireFastMutex

ExInitializeFastMutex

ExReleaseFastMutex