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


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

Подпрограмма ExAcquireFastMutex получает заданный быстрый мьютекс с APC в текущий поток отключен.

Синтаксис

void ExAcquireFastMutex(
  PFAST_MUTEX FastMutex
);

Параметры

FastMutex

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

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

None

Remarks

ExAcquireFastMutex переводит вызывающий объект в состояние ожидания, если данный быстрый мьютекс не может быть получен немедленно. В противном случае вызывающему объекту предоставляется право владения быстрым мьютексом с APC для текущего потока, отключенного до тех пор, пока он не отпустит быстрый мьютекс.

Используйте ExTryToAcquireFastMutex , если текущий поток может выполнить другую работу, прежде чем ожидать получения данного мьютекса.

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

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

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000
Верхняя часть wdm.h
IRQL <= APC_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs(storport), IrqlExApcLte1(wdm)

См. также раздел

FAST_MUTEX

ExAcquireFastMutexUnsafe

ExInitializeFastMutex

ExReleaseFastMutex

ExTryToAcquireFastMutex