PFNKSDEVICEIRP 콜백 함수(ks.h)
AVStream 미니 드라이버의 IRP 처리기 루틴은 디바이스에서 이러한 IRP를 디스패치할 때 호출됩니다.
구문
PFNKSDEVICEIRP Pfnksdeviceirp;
NTSTATUS Pfnksdeviceirp(
[in] PKSDEVICE Device,
[in] PIRP Irp
)
{...}
매개 변수
[in] Device
IRP를 디스패치한 KSDEVICE 에 대한 포인터입니다.
[in] Irp
디바이스에서 발급한 IRP입니다.
반환 값
작업을 수행하려는 시도에서 반환된 STATUS_SUCCESS 또는 오류 코드를 반환해야 합니다. 그렇지 않은 경우 적절한 오류 코드를 반환합니다.
설명
IRP | Description |
---|---|
IRP_MN_QUERY_REMOVE_DEVICE |
미니 드라이버는 해당 KSDEVICE_DISPATCH 구조체의 QueryRemove 멤버에서 이 루틴의 주소를 지정합니다.
이 루틴은 디바이스에서 IRP_MN_QUERY_REMOVE_DEVICE 디스패치될 때 호출됩니다. 일반적으로 디바이스 제거를 방지하려는 미니 드라이버 또는 디바이스 제거 작업에 커밋하지 못하게 하는 작업을 허용하지 않아야 하는 미니 드라이버가 제공합니다. 이 루틴이 제공되지 않으면 AVStream은 디바이스가 제거에 커밋할 수 있다고 가정합니다. 루틴은 IRQL = PASSIVE_LEVEL 호출되며 STATUS_PENDING; 성공 코드는 디바이스가 제거에 커밋할 수 있음을 나타내고 오류 코드는 디바이스를 제거할 수 없음을 나타냅니다. 컴퓨터를 방해하지 않고 디바이스를 제거할 수 있거나 드라이버를 업데이트할 수 있는 경우 성공을 반환합니다. 이 루틴은 선택 사항입니다. |
IRP_MN_QUERY_STOP_DEVICE |
미니 드라이버는 해당 KSDEVICE_DISPATCH 구조체의 QueryStop 멤버에서 이 루틴에 대한 포인터를 지정합니다.
AVStrMiniQueryStop을 사용하여 디바이스의 중지를 방지하거나 미니 드라이버가 중지 작업에 커밋되지 않도록 하는 활동을 허용하지 않습니다. 이 루틴을 지정하지 않으면 AVStream은 미니 드라이버가 중지 작업에 커밋할 수 있다고 가정합니다. 이 루틴은 선택 사항입니다. 성공하면 디바이스가 중지에 커밋될 수 있으며 오류 코드는 디바이스를 중지할 수 없음을 나타냅니다. STATUS_PENDING 반환하지 마세요. |
IRP_MN_QUERY_INTERFACE |
드라이버 또는 시스템 구성 요소는 드라이버에서 내보낸 인터페이스에 대한 정보를 가져오기 위해 이 IRP를 보냅니다. IRP에 대한 자세한 내용은 IRP_MN_QUERY_INTERFACE 참조하세요.
미니 드라이버는 해당 KSDEVICE_DISPATCH 구조체의 QueryInterface 멤버에서 이 루틴의 주소를 지정합니다. 이 루틴은 선택 사항입니다. |
요구 사항
지원되는 최소 클라이언트 | Microsoft Windows XP 이상 운영 체제 및 DirectX 8.0 이상 DirectX 버전에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
헤더 | ks.h(Ks.h 포함) |
IRQL | PASSIVE_LEVEL(주의 섹션 참조) |