다음을 통해 공유


PFNKSDEVICEIRPVOID 콜백 함수(ks.h)

AVStream 미니드라이버의 IRP 처리 루틴은 디바이스에서 이러한 IRP를 디스패치할 때 호출됩니다.

IRP_MN_CANCEL_STOP_DEVICE

IRP_MN_CANCEL_REMOVE_DEVICE

IRP_MN_REMOVE_DEVICE

IRP_MN_STOP_DEVICE

IRP_MN_SURPRISE_REMOVAL

구문

PFNKSDEVICEIRPVOID Pfnksdeviceirpvoid;

void Pfnksdeviceirpvoid(
  [in] PKSDEVICE Device,
  [in] PIRP Irp
)
{...}

매개 변수

[in] Device

IRP를 디스패치한 KSDEVICE 에 대한 포인터입니다.

[in] Irp

디바이스에서 발급한 IRP입니다.

반환 값

없음

설명

IRP Description
IRP_MN_CANCEL_STOP_DEVICE 미니 드라이버는 해당 KSDEVICE_DISPATCH 구조의 CancelStop 멤버에서 이 루틴의 주소를 지정합니다. 이 루틴은 선택 사항입니다.
IRP_MN_CANCEL_REMOVE_DEVICE 미니 드라이버는 해당 KSDEVICE_DISPATCH 구조체의 CancelRemove 멤버에서 이 루틴의 주소를 지정합니다. 이 루틴은 디바이스에서 IRP_MN_CANCEL_REMOVE_DEVICE 디스패치될 때 호출됩니다. 이 루틴은 선택 사항입니다.
IRP_MN_REMOVE_DEVICE 미니 드라이버는 KSDEVICE_DISPATCH 구조체MiniRemove 멤버에서 이 루틴의 주소를 지정합니다. AVStream은 디바이스에서 IRP_MN_REMOVE_DEVICE 디스패치될 때 이 루틴을 호출합니다. 일반적으로 디바이스 제거 시 디바이스 관련 리소스를 해제해야 하는 미니드라이버에서 제공됩니다. 이 루틴은 선택 사항입니다.
IRP_MN_STOP_DEVICE 미니 드라이버는 해당 KSDEVICE_DISPATCH 구조체의 Stop 멤버에서 이 루틴의 주소를 지정합니다. 이는 일반적으로 중지 작업을 완료하기 전에 이전에 할당된 리소스에서 분리해야 하는 미니 드라이버에서 제공됩니다. 이 루틴은 선택 사항입니다.
IRP_MN_SURPRISE_REMOVAL 미니 드라이버는 KSDEVICE_DISPATCH 구조의SurpriseRemoval 멤버에서 이 루틴의 주소를 지정합니다. 이 루틴은 선택 사항입니다.

요구 사항

요구 사항
대상 플랫폼 데스크톱
머리글 ks.h(Ks.h 포함)

추가 정보

KSDEVICE

KSDEVICE_DISPATCH