Поделиться через


функция обратного вызова PVIDEO_HW_GET_CHILD_DESCRIPTOR (video.h)

HwVidGetVideoChildDescriptor возвращает дескриптор, тип и идентификационный номер для определенного дочернего устройства видеоадаптера.

Синтаксис

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:

Значение Значение
Мониторинг Дочернее устройство является монитором. Если драйвер мини-порта обнаруживает, что монитор имеет связанную с ним структуру EDID , совместимую с DDC2, драйвер минипорта должен извлечь данные EDID из монитора и вернуть их в буфер, на который указывает pChildDescriptor. Драйвер мини-порта может легко получить EDID из монитора, вызвав VideoPortDDCMonitorHelper.
Если обнаруженный монитор не соответствует DDC2, драйвер мини-порта не должен возвращать ничего в pChildDescriptor.
NonPrimaryChip Зарезервировано для использования системой.
VideoChip Дочерним устройством является графический чип.
Драйвер минипорта должен возвращать этот тип, если childEnumInfo.ChildIndex имеет значение DISPLAY_ADAPTER_HW_ID. Драйвер мини-порта не должен возвращать ничего в pChildDescriptor.
Другое С дочерним устройством связан отдельный драйвер устройства.
Драйвер мини-порта должен возвращать идентификатор оборудования PnP устройства в виде строки Юникода в буфере, на который указывает pChildDescriptor. Эта строка должна соответствовать идентификатору устройства , указанному в INF-файле драйвера. Он будет использоваться операционной системой в качестве идентификатора оборудования для этого устройства.

[out] pChildDescriptor

Указатель на буфер, в котором драйвер мини-порта может возвращать данные, идентифицирующее устройство. Возвращаемые сведения зависят от дочернего типа, указанного в VideoChildType. Размер этого буфера определяется драйвером видеопорта в элементе ChildDescriptorSizeVIDEO_CHILD_ENUM_INFO.

[out] UId

Указатель на расположение, в котором драйвер мини-порта возвращает уникальный 32-разрядный идентификатор устройства . Драйвер мини-порта должен задать UId как DISPLAY_ADAPTER_HW_ID, если устройство является фактическим видеоадаптером.

[out] pUnused

Не используется и должен иметь нулевое значение.

Возвращаемое значение

HwVidGetVideoChildDescriptor возвращает одно из следующих значений:

Код возврата Описание
VIDEO_ENUM_INVALID_DEVICE Вызов еще раз. Драйверу мини-порта не удалось перечислить дочернее устройство, определенное в ChildEnumInfo, но есть дополнительные устройства для перечисления.
VIDEO_ENUM_MORE_DEVICES Перечисляется новое дочернее устройство. В этом случае видеопорт снова вызовет HwVidGetVideoChildDescriptor.
VIDEO_ENUM_NO_MORE_DEVICES Драйверу мини-порта не удалось перечислить дочернее устройство, определенное в ChildEnumInfo. Остановить перечисление. Больше нет устройств для перечисления.

Комментарии

По умолчанию HwVidGetVideoChildDescriptor не вызывается до тех пор, пока устройство не будет запущено HwVidFindAdapter. Чтобы разрешить перечисление дочерних элементов устройства перед запуском устройства, задайте элемент AllowEarlyEnumerationVIDEO_HW_INITIALIZATION_DATA. Если задан параметр AllowEarlyEnumeration , можно в любое время вызвать HwVidGetVideoChildDescriptor .

HwVidGetVideoChildDescriptor должен выполнять следующие действия:

  • Определите тип дочернего устройства на основе данных, предоставленных в ChildEnumInfo, и верните этот тип в VideoChildType.
  • Заполните буфер, на который указывает pChildDescriptor , соответствующими данными, в зависимости от значения VideoChildType.
  • Запишите 32-разрядное значение в UId , которое однозначно идентифицирует перечисляемое дочернее устройство. Драйвер видеопорта передаст этот дескриптор обратно драйверу мини-порта для выполнения таких операций, как управление питанием.
HwVidGetVideoChildDescriptor должен быть доступным для страниц.

Требования

Требование Значение
Целевая платформа Персональный компьютер
Верхняя часть video.h (включить Video.h)

См. также раздел

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren