다음을 통해 공유


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에서 실행되어야 합니다.

드라이버는 인터럽트 서비스 루틴에서 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