다음을 통해 공유


KsCancelIo 함수(ks.h)

KsCancelIo 함수는 지정된 취소 목록의 모든 IRP를 취소합니다. 목록의 IRP에 취소 루틴이 없는 경우 취소 비트만 IRP에 설정됩니다. 함수는 IRQ 수준 DISPATCH_LEVEL 이하에서 호출할 수 있습니다.

구문

KSDDKAPI VOID KsCancelIo(
  [in, out] PLIST_ENTRY QueueHead,
  [in]      PKSPIN_LOCK SpinLock
);

매개 변수

[in, out] QueueHead

취소할 IRP를 포함하는 드라이버 유지 관리 큐의 헤드를 지정합니다.

[in] SpinLock

큐 액세스를 위해 호출자가 할당한 스핀 잠금을 가리킵니다. 이 포인터의 복사본은 필요한 경우 취소 루틴에서 사용하기 위해 IRP의 KSQUEUE_SPINLOCK_IRP_STORAGE(Irp)에 보관됩니다.

반환 값

없음

설명

KsCancelIo 는 지정된 드라이버 유지 관리 큐의 모든 IRP를 취소합니다. IRP에 취소 루틴이 있는 경우 취소 루틴이 호출됩니다. 그렇지 않으면 IRP의 취소 플래그가 TRUE로 설정됩니다. IRP는 이 루틴에 의해 큐에서 제거되지 않습니다. IRP에 지정된 취소 루틴 또는 다른 드라이버 제공 기능에 의해 IRP가 제거되도록 하는 것은 드라이버의 유일한 책임입니다.

취소되는 IRP에 드라이버 제공 취소 루틴이 있는 경우 KSQUEUE_SPINLOCK_IRP_STORAGE 호출하여 IRP에서 취소 스핀 잠금을 가져올 수 있습니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 ks.h(Ks.h 포함)
라이브러리 Ks.lib
IRQL < DISPATCH_LEVEL

추가 정보

KsAddIrpToCancelableQueue