PVIDEO_HW_QUERY_INTERFACE 콜백 함수(video.h)
HwVidQueryInterface 는 자식 디바이스가 호출할 수 있는 미니포트 드라이버 구현 기능 인터페이스를 반환합니다.
구문
PVIDEO_HW_QUERY_INTERFACE PvideoHwQueryInterface;
VP_STATUS PvideoHwQueryInterface(
PVOID HwDeviceExtension,
PQUERY_INTERFACE QueryInterface
)
{...}
매개 변수
HwDeviceExtension
미니포트 드라이버의 어댑터별 스토리지 영역에 대한 포인터입니다. 자세한 내용은 디바이스 확장을 참조하세요.
QueryInterface
미니포트 드라이버가 지원하는 인터페이스에 대한 정보를 반환해야 하는 QUERY_INTERFACE 구조체에 대한 포인터입니다.
반환 값
HwVidQueryInterface 는 성공 시 NO_ERROR 반환해야 합니다. 그렇지 않으면 적절한 오류 코드를 반환해야 합니다. 예를 들어 미니포트 드라이버는 메모리를 할당하여 작업을 완료할 수 없는 경우 ERROR_OUTOFMEMORY 반환해야 합니다.
설명
HwVidQueryInterface 는 비디오 미니포트 드라이버와 자식 디바이스의 드라이버 간의 통신 메커니즘을 노출합니다. 이러한 메커니즘을 노출하는 미니포트 드라이버는 이 함수를 구현해야 합니다.
비디오 포트는 IRP_MN_QUERY_INTERFACE 요청을 받으면 HwVidQueryInterface 를 호출합니다. 미니포트 드라이버가 호출에 실패하면 비디오 포트 드라이버가 미니포트 드라이버 디바이스의 부모에 요청을 전달합니다.
HwVidQueryInterface는 QueryInterface-Interface>가 가리키는 INTERFACE 구조체의 멤버를 다음과 같이 채워야 합니다.
- INTERFACE 구조의 바이트 수로 크기를 설정합니다. 이 값은 QueryInterface-> Size에 지정된 바이트 수를 초과해서는 안됩니다.
- 버전을 미니포트 드라이버에서 반환되는 인터페이스 버전으로 설정합니다. 미니포트 드라이버는 QueryInterface-> 버전에서 자식 드라이버가 요청한버전과 가장 일치해야 합니다.
- 인터페이스에 대한 미니포트 드라이버 정의 컨텍스트를 가리키도록 컨텍스트 를 설정합니다. 일반적으로 미니포트 드라이버는 컨텍스트 를 HwDeviceExtension으로 식별된 디바이스 확장을 가리키도록 설정합니다.
- 이 인터페이스에 대한 미니포트 드라이버 구현 참조 및 역참조 루틴을 가리키도록 InterfaceReference 및 InterfaceDereference를 초기화합니다.
- 노출되는 인터페이스의 적절한 루틴을 가리키도록 모든 추가 인터페이스별 멤버를 초기화합니다.
자식 디바이스의 드라이버는 비디오 포트 드라이버의 지식 없이 언제든지 HwVidQueryInterface 에 의해 노출되는 함수를 통해 미니포트 드라이버를 호출할 수 있습니다. 따라서 미니포트 드라이버는 HwVidQueryInterface에서 노출하는 모든 함수에서 비디오 포트 드라이버 유지 관리 디바이스 잠금을 획득하고 해제하여 자체에 대한 액세스를 동기화해야 합니다.
자식 디바이스는 HwVidGetVideoChildDescriptor로 열거됩니다.
HwVidQueryInterface 를 페이징 가능으로 만들어야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | video.h(Video.h 포함) |