WDM IRP 및 WDF 이벤트 콜백 함수
KMDF(Kernel-Mode Driver Framework) 및 UMDF(User-Mode Driver Framework)는 Windows IRP의 하위 집합을 지원합니다. 다음 표에는 주요 WDM IRP 형식 및 해당 프레임워크 이벤트 콜백 함수가 나와 있습니다. 달리 지정하지 않는 한 콜백은 KMDF와 UMDF 모두에 적용됩니다.
IRP_MJ_PNP KMDF 콜백
다음 표에서는 실행 순서대로 IRP_MJ_PNP 대한 부 IRP 코드에 해당하는 KMDF 콜백을 나열합니다. 화살표는 WDM FDO가 스택을 위 또는 아래로 이동할 때 IRP를 처리하는지 여부를 나타냅니다.
참고 KMDF 드라이버에서 플러그 앤 플레이 및 전원 관리는 통합 작업이며 드라이버는 개별 사소한 IRP_MJ_PNP 또는 IRP_MJ_POWER 요청을 받지 않습니다. 대신, 프레임워크는 전원 켜기 시 핵심 콜백 집합과 전원이 켜진 해당 집합을 호출하고 각 개별 플러그 앤 플레이 요청에 적절하게 이 코어 집합 전후에 추가 콜백을 호출합니다. 전원 켜기 및 전원 다운 시퀀스를 보여 주는 포괄적인 다이어그램은 PnP 및 전원 관리 기능 포팅을 참조하세요.
IRP_MJ_POWER KMDF 콜백
다음 표에서는 실행 순서대로 IRP_MJ_POWER 대한 부 IRP 코드에 해당하는 KMDF 콜백을 나열합니다. 화살표는 WDM FDO가 스택을 위 또는 아래로 이동할 때 IRP를 처리하는지 여부를 나타냅니다.
참고 참고: KMDF 드라이버에서 플러그 앤 플레이 및 전원 관리는 통합 작업이며 드라이버는 개별 사소한 IRP_MJ_PNP 또는 IRP_MJ_POWER 요청을 받지 않습니다. 대신 프레임워크는 전원 켜기 시 핵심 콜백 집합과 전원이 낮을 때 해당 집합을 호출하고 각 개별 플러그 앤 플레이 요청에 적절하게 이 코어 집합 전후에 추가 콜백을 호출합니다. 전원 켜기 및 전원 다운 시퀀스를 보여 주는 포괄적인 다이어그램은 PnP 및 전원 관리 기능 포팅을 참조하세요.
부 코드 IRP_MJ_POWER | 프레임워크 콜백 |
---|---|
D1, D2 또는 D3의 경우 IRP_MN_SET_POWER(전원이 닫됨) | EvtDeviceSelfManagedIoSuspendEvtIoStop (WdfRequestStopActionSuspend 플래그) EvtDeviceArmWakeFromS0 또는 EvtDeviceArmWakeFromSxEvtDmaEnablerSelfManagedIoStop (KMDF만 해당)EvtDmaEnablerDisable (KMDF만 해당)EvtDmaEnablerFlush (KMDF만 해당)EvtDeviceD0ExitPreInterruptsDisabledEvtInterruptDisableEvtDeviceD0Exit |
D0용 IRP_MN_SET_POWER(전원 켜기) | EvtDeviceD0EntryEvtInterruptEnableEvtDeviceD0EntryPostInterruptsEnabledEvtDmaEnablerFill (KMDF에만 해당)EvtDmaEnablerEnablerEnable(KMDF만 해당)EvtDmaEnablerSelfManagedIoStart (KMDF만 해당)EvtIoResumeEvtDeviceSelfManagedIoRestart |
Sx에 대한 IRP_MN_SET_POWER | 없음 |
Sx에 대한 IRP_MN_SET_POWER | 없음 |
IRP_MN_POWER_SEQUENCE | 없음 |
・IRP_MN_WAIT_WAKE | EvtDeviceEnableWakeAtBus(KMDF에만 해당) |
・IRP_MN_WAIT_WAKE | EvtDeviceDisableWakeAtBus(KMDF에만 해당) |
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기