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.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | video.h (incluya Video.h) |