KeInitializeSpinLock 함수(wdm.h)
KeInitializeSpinLock 루틴은 KSPIN_LOCK 형식의 변수를 초기화합니다.
통사론
void KeInitializeSpinLock(
[out] PKSPIN_LOCK SpinLock
);
매개 변수
[out] SpinLock
호출자가 스토리지를 제공해야 하는 스핀 잠금에 대한 포인터입니다.
반환 값
없음
발언
KeAcquireInStackQueuedSpinLock KeAcquireSpinLock또는 스핀 잠금이 인수로 필요한 다른 지원 루틴에 대한 초기 호출 전에 이 루틴을 호출해야 합니다.
스핀 잠금 개체의 스토리지는 드라이버에서 만든 디바이스 개체의 디바이스 확장, 드라이버에서 만든 컨트롤러 개체의 컨트롤러 확장 또는 호출자가 할당한 비페이지 풀에 상주해야 합니다.
이 함수는 Windows XP에서 Windows 7까지 x64 시스템에 대해 인라인 처리됩니다. Windows 8부터 이 함수는 ntoskrnl.lib
내보냅니다. 따라서 Windows 10 WDK를 사용하여 Windows 7에서 실행되는 이진 파일을 빌드하는 경우(따라서 Windows 10 HLK 테스트를 통과하려면 NX 풀 사용량이 필요함) WIN9X_COMPAT_SPINLOCK
정의해야 합니다. 그렇지 않으면 Windows cannot load the device driver for this hardware. The driver may be corrupted or missing. (Code 39)
볼 수 있습니다.
스핀 잠금에 대한 자세한 내용은 스핀 잠금 참조하세요.
이 루틴의 호출자는 모든 IRQL에서 실행할 수 있습니다. 일반적으로 호출자는 irQL = PASSIVE_LEVEL AddDevice 루틴에서 실행됩니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | 모든 수준(설명 섹션 참조) |
DDI 규정 준수 규칙 | HwStorPortProhibitedDDIs(storport) |
참고 항목
KeAcquireInStackQueuedSpinLock
KeAcquireInStackQueuedSpinLockAtDpcLevel
KeReleaseInStackQueuedSpinLock