PVIDEO_HW_GET_CHILD_DESCRIPTOR 콜백 함수(video.h)
HwVidGetVideoChildDescriptor 는 디스플레이 어댑터의 특정 자식 디바이스에 대한 설명자, 형식 및 ID 번호를 반환합니다.
구문
PVIDEO_HW_GET_CHILD_DESCRIPTOR PvideoHwGetChildDescriptor;
VP_STATUS PvideoHwGetChildDescriptor(
[in] IN PVOID HwDeviceExtension,
[in] IN PVIDEO_CHILD_ENUM_INFO ChildEnumInfo,
[out] OUT PVIDEO_CHILD_TYPE VideoChildType,
[out] OUT PUCHAR pChildDescriptor,
[out] OUT PULONG UId,
[out] OUT PULONG pUnused
)
{...}
매개 변수
[in] HwDeviceExtension
미니포트 드라이버의 어댑터별 스토리지 영역에 대한 포인터입니다. 자세한 내용은 디바이스 확장을 참조하세요.
[in] ChildEnumInfo
열거 중인 디바이스를 설명하는 VIDEO_CHILD_ENUM_INFO 구조체입니다.
[out] VideoChildType
미니포트 드라이버가 열거되는 자식의 형식을 반환하는 위치에 대한 포인터입니다. 이 멤버는 VIDEO_CHILD_TYPE 열거형에서 다음 중 하나일 수 있습니다.
값 | 의미 |
---|---|
모니터 | 자식 디바이스는 모니터입니다. 미니포트 드라이버가 모니터에 DDC2 규격 EDID 구조가 연결되어 있음을 감지하는 경우 미니포트 드라이버는 모니터에서 EDID 정보를 추출하고 pChildDescriptor가 가리키는 버퍼에 반환해야 합니다. 미니포트 드라이버는 VideoPortDDCMonitorHelper를 호출하여 모니터에서 EDID를 더 쉽게 가져올 수 있습니다. 검색된 모니터가 DDC2 규격이 아닌 경우 미니포트 드라이버는 pChildDescriptor에서 아무것도 반환하지 않아야 합니다. |
NonPrimaryChip | 시스템 사용을 위해 예약되어 있습니다. |
VideoChip | 자식 디바이스는 그래픽 칩입니다. ChildEnumInfo.ChildIndex가 DISPLAY_ADAPTER_HW_ID 경우 미니포트 드라이버는 이 형식을 반환해야 합니다. 미니포트 드라이버는 pChildDescriptor에서 아무것도 반환하지 않아야 합니다. |
기타 | 자식 디바이스에는 연결된 별도의 디바이스 드라이버가 있습니다. 미니포트 드라이버는 디바이스의 PnP 하드웨어 식별자를 pChildDescriptor가 가리키는 버퍼의 유니코드 문자열로 반환해야 합니다. 이 문자열은 드라이버의 INF 파일에 지정된 디바이스 ID 와 일치해야 합니다. 운영 체제에서 이 디바이스의 하드웨어 ID로 사용됩니다. |
[out] pChildDescriptor
미니포트 드라이버가 디바이스를 식별하는 데이터를 반환할 수 있는 버퍼에 대한 포인터입니다. 반환되는 정보는 VideoChildType에 지정된 자식 형식에 따라 달라집니다. 이 버퍼의 크기는 VIDEO_CHILD_ENUM_INFOChildDescriptorSize 멤버의 비디오 포트 드라이버에 의해 지정됩니다.
[out] UId
미니포트 드라이버가 이 디바이스에 대한 고유한 32비트 디바이스 ID 를 반환하는 위치에 대한 포인터입니다. 미니포트 드라이버는 디바이스가 실제 디스플레이 어댑터일 때 UId 를 DISPLAY_ADAPTER_HW_ID 설정해야 합니다.
[out] pUnused
사용되지 않으며 0으로 설정해야 합니다.
반환 값
HwVidGetVideoChildDescriptor 는 다음 값 중 하나를 반환합니다.
반환 코드 | 설명 |
---|---|
VIDEO_ENUM_INVALID_DEVICE | 다시 호출합니다. 미니포트 드라이버는 ChildEnumInfo에서 식별된 자식 디바이스를 열거할 수 없지만 열거할 디바이스가 더 많습니다. |
VIDEO_ENUM_MORE_DEVICES | 새 자식 디바이스가 열거됩니다. 이 경우 비디오 포트는 HwVidGetVideoChildDescriptor를 다시 호출합니다. |
VIDEO_ENUM_NO_MORE_DEVICES | 미니포트 드라이버는 ChildEnumInfo에서 식별된 자식 디바이스를 열거할 수 없습니다. 열거를 중지합니다. 열거할 디바이스가 더 이상 없습니다. |
설명
기본적으로 HwVidGetVideoChildDescriptor 는 HwVidFindAdapter에서 디바이스를 시작할 때까지 호출되지 않습니다. 디바이스가 시작되기 전에 디바이스 자식의 열거를 허용하려면 VIDEO_HW_INITIALIZATION_DATAAllowEarlyEnumeration 멤버를 설정합니다. AllowEarlyEnumeration이 설정되면 언제든지 HwVidGetVideoChildDescriptor를 호출할 수 있습니다.
HwVidGetVideoChildDescriptor 는 다음을 수행해야 합니다.
- ChildEnumInfo에 제공된 데이터를 기반으로 자식 디바이스의 유형을 확인하고 VideoChildType에서 이 형식을 반환합니다.
- VideoChildType 값에 따라 pChildDescriptor가 적절한 데이터를 가리키는 버퍼를 채웁니다.
- 열거 중인 자식 디바이스를 고유하게 식별하는 32비 트 값을 UId 에 작성합니다. 비디오 포트 드라이버는 전원 관리와 같은 작업을 위해 이 핸들을 미니포트 드라이버에 다시 전달합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | video.h(Video.h 포함) |