PVIDEO_HW_GET_CHILD_DESCRIPTOR função de retorno de chamada (video.h)

HwVidGetVideoChildDescriptor retorna um descritor, um tipo e um número de identificação para um dispositivo filho específico do adaptador de exibição.

Sintaxe

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

Ponteiro para a área de armazenamento por adaptador do driver de miniport. Para obter mais informações, consulte Extensões de dispositivo.

[in] ChildEnumInfo

É uma estrutura VIDEO_CHILD_ENUM_INFO que descreve o dispositivo que está sendo enumerado.

[out] VideoChildType

Ponteiro para um local no qual o driver de miniporto retorna o tipo de filho que está sendo enumerado. Esse membro pode ser um dos seguintes da enumeração VIDEO_CHILD_TYPE:

Valor Significado
Monitorar O dispositivo filho é um monitor. Se o driver de miniporto detectar que o monitor tem uma estrutura EDID compatível com DDC2 associada a ela, o driver de miniporto deverá extrair as informações EDID do monitor e devolvê-la no buffer para o qual pChildDescriptor aponta. O driver de miniporte pode obter mais facilmente o EDID do monitor chamando VideoPortDDCMonitorHelper.
Se o monitor detectado não estiver em conformidade com DDC2, o driver de miniporto não deverá retornar nada no pChildDescriptor.
NonPrimaryChip É reservado para uso do sistema.
VideoChip O dispositivo filho é o chip gráfico.
O driver de miniporte deve retornar esse tipo quando ChildEnumInfo.ChildIndex for DISPLAY_ADAPTER_HW_ID. O driver de miniporte não deve retornar nada em pChildDescriptor.
Outros O dispositivo filho tem um driver de dispositivo separado associado a ele.
O driver de miniporte deve retornar o identificador de hardware PnP do dispositivo como uma cadeia de caracteres Unicode no buffer para o qual pChildDescriptor aponta. Essa cadeia de caracteres deve corresponder à ID do dispositivo especificada no arquivo INF do driver. Ele será usado pelo sistema operacional como a ID de hardware para este dispositivo.

[out] pChildDescriptor

Ponteiro para um buffer no qual o driver de miniporto pode retornar dados que identificam o dispositivo. As informações retornadas dependem do tipo filho especificado em VideoChildType. O tamanho desse buffer é especificado pelo driver de porta de vídeo no membro ChildDescriptorSize de VIDEO_CHILD_ENUM_INFO.

[out] UId

Ponteiro para o local em que o driver de miniporto retorna uma ID exclusiva do dispositivo de 32 bits para este dispositivo. O driver de miniporto deve definir UId como DISPLAY_ADAPTER_HW_ID quando o dispositivo for o adaptador de exibição real.

[out] pUnused

Não é utilizado e deve ser definido como zero.

Retornar valor

HwVidGetVideoChildDescriptor retorna um dos seguintes valores:

Código de retorno Descrição
VIDEO_ENUM_INVALID_DEVICE Ligue novamente. O driver de miniporte não pôde enumerar o dispositivo filho identificado em ChildEnumInfo, mas há mais dispositivos a serem enumerados.
VIDEO_ENUM_MORE_DEVICES Um novo dispositivo filho é enumerado. A porta de vídeo chamará HwVidGetVideoChildDescriptor novamente nesse caso.
VIDEO_ENUM_NO_MORE_DEVICES O driver de miniporte não pôde enumerar o dispositivo filho identificado em ChildEnumInfo. Parar enumeração. Não há mais dispositivos a serem enumerados.

Comentários

Por padrão, HwVidGetVideoChildDescriptor não é chamado até que o dispositivo seja iniciado por HwVidFindAdapter. Para permitir a enumeração dos filhos de um dispositivo antes de o dispositivo ser iniciado, defina o membro AllowEarlyEnumeration de VIDEO_HW_INITIALIZATION_DATA. Quando AllowEarlyEnumeration estiver definido, HwVidGetVideoChildDescriptor poderá ser chamado a qualquer momento.

HwVidGetVideoChildDescriptor deve fazer o seguinte:

  • Determine o tipo do dispositivo filho com base nos dados fornecidos em ChildEnumInfo e retorne esse tipo em VideoChildType.
  • Preencha o buffer para o qual pChildDescriptor aponta com os dados apropriados, dependendo do valor de VideoChildType.
  • Escreva um valor de 32 bits em UId que identifica exclusivamente o dispositivo filho que está sendo enumerado. O driver da porta de vídeo passará esse identificador de volta para o driver de miniporto para operações como gerenciamento de energia.
HwVidGetVideoChildDescriptor deve ser tornado paginável.

Requisitos

Requisito Valor
Plataforma de Destino Área de Trabalho
Cabeçalho video.h (inclua Video.h)

Confira também

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren