IoAcquireCancelSpinLock 함수(wdm.h)
IoAcquireCancelSpinLock 루틴은 다중 프로세서로부터 안전한 방식으로 IRP에 대한 취소 가능한 상태 전환을 동기화합니다.
구문
void IoAcquireCancelSpinLock(
PKIRQL Irql
);
매개 변수
Irql
[out] IoReleaseCancelSpinLock에 대한 후속 호출을 위해 현재 IRQL을 저장할 변수에 대한 포인터입니다. 일반적으로 Irql 은 스택에 로컬 변수로 저장됩니다.
반환 값
없음
설명
디바이스 개체에서 I/O 관리자가 제공한 디바이스 큐를 사용하는 드라이버는 IoSetCancelRoutine을 사용하여 IRP의 취소 가능한 상태를 변경할 때마다 취소 스핀 잠금을 유지해야 합니다.
자체 IRP 큐를 관리하는 드라이버는 IoSetCancelRoutine을 호출할 때 취소 스핀 잠금을 유지할 필요가 없습니다.
취소 스핀 잠금의 보유자는 IoReleaseCancelSpinLock을 호출하여 즉시 해제해야 합니다.
드라이버 제공 취소 루틴은 취소 스핀 잠금이 유지된 상태에서 호출됩니다. 취소할 IRP를 완료하면 취소 스핀 잠금을 해제해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 |
머리글 | wdm.h |
IRQL | <=DISPATCH_LEVEL |
DDI 규정 준수 규칙 | CancelSpinLock(storport), CancelSpinLock(wdm), CancelSpinlockRelease(wdm), HwStorPortProhibitedDDIs(storport), SpinLockSafe(storport), SpinLockSafe(wdm) |