Функция 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) |