Функция KeTryToAcquireSpinLockAtDpcLevel (wdm.h)
Подпрограмма KeTryToAcquireSpinLockAtDpcLevel пытается получить спин-блокировку на DISPATCH_LEVEL.
Синтаксис
BOOLEAN KeTryToAcquireSpinLockAtDpcLevel(
[in, out] PKSPIN_LOCK SpinLock
);
Параметры
[in, out] SpinLock
Указывает блокировку спина для получения. Блокировка спина должна быть инициализирована keInitializeSpinLock.
Возвращаемое значение
KeTryToAcquireSpinLockAtDpcLevel возвращает значение TRUE , если спиновая блокировка была получена, и FALSE , если спиновая блокировка уже удерживается и не может быть получена.
Комментарии
Если указанная блокировка спина не занята, подпрограмма KeTryToAcquireSpinLockAtDpcLevel получает спин-блокировку (дополнительные сведения см. в разделе KeAcquireSpinLock ) и возвращает значение TRUE. Если блокировка спина уже получена, подпрограмма немедленно возвращает значение FALSE.
Если блокировка спина получена, вызывающий объект может освободить ее с помощью процедуры KeReleaseSpinLock .
Если вы хотите, чтобы драйвер блокировались, когда ему не удается получить блокировку спина, используйте keAcquireSpinLockAtDpcLevel .
Дополнительные сведения о спин-блокировках см. в разделе Спин-блокировки.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Server 2003 с пакетом обновления 1 (SP1) и более поздних версиях Windows. |
Целевая платформа | Универсальное |
Верхняя часть | wdm.h (включая Wdm.h, Ntddk.h, Ntifs.h) |
Библиотека | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
Правила соответствия DDI | HwStorPortProhibitedDIs(storport), SpinLock(wdm), SpinlockRelease(wdm) |