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


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

KeAcquireGuardedMutex подпрограмма получает защищенный мьютекс.

Синтаксис

void KeAcquireGuardedMutex(
  PKGUARDED_MUTEX Mutex
);

Параметры

Mutex

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

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

Никакой

Замечания

Используйте KeReleaseGuardedMutex, чтобы освободить мьютекс, приобретенный с KeAcquireGuardedMutex.

Если мьютекс доступен, KeAcquireGuardedMutex немедленно возвращается. В противном случае вызывающий поток помещается в состояние ожидания, пока мьютекс не станет доступным. Чтобы избежать ввода состояния ожидания при недоступности мьютекса, используйте KeTryToAcquireGuardedMutex.

Поток, вызывающий KeAcquireGuardedMutex неявно входит в защищенный регион, где все API отключены. Они остаются отключенными, пока поток не освобождает мьютекс с KeReleaseGuardedMutex.

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

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

Требования

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

См. также

KGUARDED_MUTEX

KeReleaseGuardedMutex