Compartir a través de


PVIDEO_HW_GET_CHILD_DESCRIPTOR función de devolución de llamada (video.h)

HwVidGetVideoChildDescriptor devuelve un descriptor, un tipo y un número de identificación para un dispositivo secundario determinado del adaptador de pantalla.

Sintaxis

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
)
{...}

Parámetros

[in] HwDeviceExtension

Puntero al área de almacenamiento por adaptador del controlador de miniporte. Para obtener más información, consulte Extensiones de dispositivo.

[in] ChildEnumInfo

Es una estructura de VIDEO_CHILD_ENUM_INFO que describe el dispositivo que se está enumerando.

[out] VideoChildType

Puntero a una ubicación en la que el controlador de minipuerto devuelve el tipo de elemento secundario que se está enumerando. Este miembro puede ser uno de los siguientes de la enumeración VIDEO_CHILD_TYPE:

Valor Significado
Supervisión El dispositivo secundario es un monitor. Si el controlador de minipuerto detecta que el monitor tiene asociada una estructura EDID compatible con DDC2, el controlador de miniporte debe extraer la información EDID del monitor y devolverla en el búfer al que apunta pChildDescriptor. El controlador de minipuerto puede obtener más fácilmente el EDID del monitor llamando a VideoPortDDCMonitorHelper.
Si el monitor detectado no es compatible con DDC2, el controlador de minipuerto no debe devolver nada en pChildDescriptor.
NonPrimaryChip Está reservado para uso del sistema.
VideoChip El dispositivo secundario es el chip gráfico.
El controlador de minipuerto debe devolver este tipo cuando ChildEnumInfo.ChildIndex está DISPLAY_ADAPTER_HW_ID. El controlador de minipuerto no debe devolver nada en pChildDescriptor.
Otros El dispositivo secundario tiene asociado un controlador de dispositivo independiente.
El controlador de minipuerto debe devolver el identificador de hardware PnP del dispositivo como una cadena Unicode en el búfer al que apunta pChildDescriptor. Esta cadena debe coincidir con el identificador de dispositivo especificado en el archivo INF del controlador. El sistema operativo lo usará como identificador de hardware para este dispositivo.

[out] pChildDescriptor

Puntero a un búfer en el que el controlador de minipuerto puede devolver datos que identifican el dispositivo. La información devuelta depende del tipo secundario especificado en VideoChildType. El tamaño de este búfer se especifica mediante el controlador de puerto de vídeo en el miembro ChildDescriptorSize de VIDEO_CHILD_ENUM_INFO.

[out] UId

Puntero a la ubicación en la que el controlador de minipuerto devuelve un identificador de dispositivo de 32 bits único para este dispositivo. El controlador de minipuerto debe establecer UId para que se DISPLAY_ADAPTER_HW_ID cuando el dispositivo sea el adaptador de pantalla real.

[out] pUnused

No se usa y debe establecerse en cero.

Valor devuelto

HwVidGetVideoChildDescriptor devuelve uno de los siguientes valores:

Código devuelto Descripción
VIDEO_ENUM_INVALID_DEVICE Vuelva a llamar. El controlador de minipuerto no pudo enumerar el dispositivo secundario identificado en ChildEnumInfo, pero hay más dispositivos que se van a enumerar.
VIDEO_ENUM_MORE_DEVICES Se enumera un nuevo dispositivo secundario. El puerto de vídeo llamará de nuevo a HwVidGetVideoChildDescriptor en este caso.
VIDEO_ENUM_NO_MORE_DEVICES El controlador de minipuerto no pudo enumerar el dispositivo secundario identificado en ChildEnumInfo. Detener enumeración. No hay más dispositivos que se van a enumerar.

Comentarios

De forma predeterminada, HwVidGetVideoChildDescriptor no se llama hasta después de que HwVidFindAdapter inicie el dispositivo. Para permitir la enumeración de los elementos secundarios de un dispositivo antes de iniciar el dispositivo, establezca el miembro AllowEarlyEnumeration de VIDEO_HW_INITIALIZATION_DATA. Cuando se establece AllowEarlyEnumeration , se puede llamar a HwVidGetVideoChildDescriptor en cualquier momento.

HwVidGetVideoChildDescriptor debe hacer lo siguiente:

  • Determine el tipo del dispositivo secundario en función de los datos proporcionados en ChildEnumInfo y devuelva este tipo en VideoChildType.
  • Rellene el búfer al que apunta pChildDescriptor con los datos adecuados, según el valor de VideoChildType.
  • Escriba un valor de 32 bits en UId que identifique de forma única el dispositivo secundario que se está enumerando. El controlador de puerto de vídeo volverá a pasar este identificador al controlador de minipuerto para operaciones como la administración de energía.
HwVidGetVideoChildDescriptor debe ser paginable.

Requisitos

Requisito Value
Plataforma de destino Escritorio
Encabezado video.h (incluya Video.h)

Consulte también

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren