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


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

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

Синтаксис

void ExReleaseFastMutex(
  PFAST_MUTEX FastMutex
);

Параметры

FastMutex

[вход, выход] Указатель на быстрый мьютекс, который требуется освободить.

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

None

Remarks

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

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

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

Вызывающие операторы 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