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에서 식별된 자식 디바이스를 열거할 수 없습니다. 열거를 중지합니다. 열거할 디바이스가 더 이상 없습니다.

설명

기본적으로 HwVidGetVideoChildDescriptorHwVidFindAdapter에서 디바이스를 시작할 때까지 호출되지 않습니다. 디바이스가 시작되기 전에 디바이스 자식의 열거를 허용하려면 VIDEO_HW_INITIALIZATION_DATAAllowEarlyEnumeration 멤버를 설정합니다. AllowEarlyEnumeration이 설정되면 언제든지 HwVidGetVideoChildDescriptor를 호출할 수 있습니다.

HwVidGetVideoChildDescriptor 는 다음을 수행해야 합니다.

  • ChildEnumInfo에 제공된 데이터를 기반으로 자식 디바이스의 유형을 확인하고 VideoChildType에서 이 형식을 반환합니다.
  • VideoChildType 값에 따라 pChildDescriptor가 적절한 데이터를 가리키는 버퍼를 채웁니다.
  • 열거 중인 자식 디바이스를 고유하게 식별하는 32비 트 값을 UId 에 작성합니다. 비디오 포트 드라이버는 전원 관리와 같은 작업을 위해 이 핸들을 미니포트 드라이버에 다시 전달합니다.
HwVidGetVideoChildDescriptor를 페이징 가능으로 만들어야 합니다.

요구 사항

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

추가 정보

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren