IofCompleteRequest 함수(wdm.h)

IoCompleteRequest 매크로는 호출자가 지정된 I/O 요청에 대한 모든 처리를 완료했으며 지정된 IRP를 I/O 관리자에 반환하고 있음을 나타냅니다.

IoCompleteRequestIofCompleteRequest를 래핑합니다.

구문

void IofCompleteRequest(
  PIRP  Irp,
  CCHAR PriorityBoost
);

매개 변수

Irp

완료할 IRP에 대한 포인터입니다.

PriorityBoost

작업을 요청한 원래 스레드의 런타임 우선 순위를 증가시키는 시스템 정의 CCHAR 상수를 지정합니다. 이 값은 원래 스레드가 드라이버를 신속하게 완료할 수 있는 작업을 요청했거나(요청 스레드가 I/O가 완료될 것으로 가정된 대기에 대해 보상되지 않음) 또는 IRP가 오류로 완료된 경우 IO_NO_INCREMENT. 그렇지 않으면 PriorityBoost 상수 집합이 디바이스 유형에 따라 다릅니다. 이러한 상수는 Ntddk.h 또는 Wdm.h를 참조하세요.

반환 값

없음

설명

드라이버가 지정된 IRP에 대한 모든 처리를 완료하면 IoCompleteRequest를 호출합니다. I/O 관리자는 IRP를 확인하여 상위 수준 드라이버가 IRP에 대한 IoCompletion 루틴을 설정했는지 여부를 확인합니다. 이 경우 체인의 모든 계층화된 드라이버가 IRP를 완료할 때까지 각 IoCompletion 루틴이 차례로 호출됩니다.

모든 드라이버가 지정된 IRP를 완료하면 I/O 관리자는 작업의 원래 요청자에게 상태 반환합니다. 드라이버에서 만든 IRP를 설정하는 상위 수준 드라이버는 만든 IRP를 해제하는 IoCompletion 루틴을 제공해야 합니다.

스핀 잠금을 유지하는 동안 IoCompleteRequest 를 호출하지 마세요. 스핀 잠금을 유지하는 동안 IRP를 완료하려고 하면 교착 상태가 발생할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL
DDI 규정 준수 규칙 CompleteRequest, CompleteRequestStatusCheck, DoubleCompletion(wdm), HwStorPortProhibitedDDDIs(storport), IoAllocateComplete, IoBuildFsdComplete, IoSetCompletionExCompleteIrp, IrpProcessingComplete(wdm), MarkIrpPending, PendedCompletedRequest(wdm), PendedCompletedRequest2, PendedCompletedRequest3, PendedCompletedRequestEx(wdm), PnpIrpCompletion(wdm), SpinLockSafe(storport), SpinLockSafe(wdm), WmiComplete(wdm)

추가 정보

IoSetCompletionRoutine