Поделиться через


Функция ExReleaseFastMutex (wdm.h)

ExReleaseFastMutex освобождает владение быстрым мьютексом, приобретенным с ExAcquireFastMutex или ExTryToAcquireFastMutex.

Синтаксис

void ExReleaseFastMutex(
  PFAST_MUTEX FastMutex
);

Параметры

FastMutex

[in, out] Указатель на быстрый мьютекс, который будет выпущен.

Возвращаемое значение

Никакой

Замечания

ExReleaseFastMutex освобождает владение заданным быстрым мьютексом и задает IRQL значением, которое вызывающий объект выполнялся до вызова ExAcquireFastMutex. Если предыдущий IRQL был меньше APC_LEVEL, доставка API в текущий поток будет повторно включена.

Это ошибка программирования для вызова ExReleaseFastMutex с FastMutex, полученной с помощью ExAcquireFastMutexUnsafe. Драйверы должны освободить быстрый мьютекс из того же потока, который приобрел его. Быстрые мьютексы должны быть освобождены в противоположном порядке от заказа, который они были приобретены.

Дополнительные сведения о быстрых мьютексах см. в разделе Fast Mutexes и Guarded Mutexes.

Вызывающие ExReleaseFastMutex должны выполняться в IRQL = APC_LEVEL. В большинстве случаев irQL уже будет установлен APC_LEVEL перед вызовом ExReleaseFastMutex, так как ExAcquireFastMutex уже задайте для IRQL значение APC_LEVEL автоматически. Однако если вызывающий объект изменяет IRQL после ExAcquireFastMutex возвращается, вызывающий объект должен явно задать irQL APC_LEVEL перед вызовом ExReleaseFastMutex.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000
заголовка wdm.h
IRQL APC_LEVEL
правил соответствия DDI HwStorPortProhibitedDIs(storport)

См. также

FAST_MUTEX

ExAcquireFastMutex

ExInitializeFastMutex

ExTryToAcquireFastMutex