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

Подпрограмма KeInitializeSpinLock инициализирует переменную типа KSPIN_LOCK.

Синтаксис

void KeInitializeSpinLock(
  [out] PKSPIN_LOCK SpinLock
);

Параметры

[out] SpinLock

Указатель на спин-блокировку, для которой вызывающий объект должен предоставить хранилище.

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

None

Remarks

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

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

Примечание

Эта функция встраина для систем x64 из Windows XP до Windows 7. Начиная с Windows 8 эта функция экспортируется из ntoskrnl.lib. В результате, если вы используете Windows 10 WDK для создания двоичного файла, работающего в Windows 7 (и, следовательно, требуется использование пула NX для передачи Windows 10 тестов HLK), необходимо определитьWIN9X_COMPAT_SPINLOCK. В противном случае может отображаться Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39).

Дополнительные сведения о спин-блокировках см. в разделе Spin Locks.

Вызывающие функции этой подпрограммы могут выполняться в любом IRQL. Как правило, вызывающий объект выполняется в IRQL = PASSIVE_LEVEL в подпрограмме AddDevice .

Требования

   
Целевая платформа Универсальное
Верхняя часть wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Любой уровень (см. раздел "Примечания")
Правила соответствия DDI HwStorPortProhibitedDDIs(storport)

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

KeAcquireInStackQueuedSpinLock

KeAcquireInStackQueuedSpinLockAtDpcLevel

KeAcquireSpinLock

KeAcquireSpinLockAtDpcLevel

KeReleaseInStackQueuedSpinLock

KeReleaseInStackQueuedSpinLockFromDpcLevel

KeReleaseSpinLock

KeReleaseSpinLockFromDpcLevel