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


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

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

Синтаксис

void ExAcquireFastMutex(
  PFAST_MUTEX FastMutex
);

Параметры

FastMutex

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

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

Никакой

Замечания

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

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

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

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

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

Требования

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

См. также

FAST_MUTEX

ExAcquireFastMutexUnsafe

ExInitializeFastMutex

ExReleaseFastMutex

ExTryToAcquireFastMutex