다음을 통해 공유


IoRequestDpc 함수(wdm.h)

IoRequestDpc 루틴은 드라이버 제공 DpcForIsr 루틴을 큐에 대기하여 낮은 IRQL에서 인터럽트 기반 I/O 처리를 완료합니다.

구문

void IoRequestDpc(
  [in] PDEVICE_OBJECT         DeviceObject,
  [in] PIRP                   Irp,
  [in] __drv_aliasesMem PVOID Context
);

매개 변수

[in] DeviceObject

인터럽트 발생 요청이 처리되는 디바이스 개체에 대한 포인터입니다.

[in] Irp

지정된 디바이스의 현재 IRP에 대한 포인터입니다.

[in] Context

DPC 루틴에 전달할 드라이버 결정 컨텍스트에 대한 포인터입니다.

반환 값

없음

설명

IoRequestDpc의 호출자는 DIRQL에서 실행되어야 합니다.

드라이버는 InterruptService 루틴에서 IoRequestDpc를 호출합니다. 이 때문에 IoRequestDpc는 드라이버가 IoConnectInterrupt를 호출할 때 SynchronizeIrql에서 지정한 DIRQL 값으로 실행됩니다. 그러나 KeXxxDpc 루틴을 사용하여 IRQL >= DISPATCH_LEVEL DPC를 큐에 대기할 수도 있습니다. 자세한 내용은 어떤 유형의 DPC를 사용해야 하나요?를 참조하세요.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 2000부터 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
IRQL DIRQL

추가 정보

IoInitializeDpcRequest

KeInitializeDpc

KeInsertQueueDpc