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 miniporto. 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 o pChildDescriptor aponta. O driver de miniporto 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 miniporto deve retornar esse tipo quando ChildEnumInfo.ChildIndex for DISPLAY_ADAPTER_HW_ID. O driver de miniporto não deve retornar nada no pChildDescriptor.
Outros O dispositivo filho tem um driver de dispositivo separado associado a ele.
O driver de miniporto deve retornar o identificador de hardware PnP do dispositivo como uma cadeia de caracteres Unicode no buffer ao 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 do VIDEO_CHILD_ENUM_INFO.

[out] UId

Ponteiro para o local em que o driver de miniporto retorna uma ID exclusiva de dispositivo de 32 bits para este dispositivo. O driver de miniporto deve definir a 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.

Valor retornado

HwVidGetVideoChildDescriptor retorna um dos seguintes valores:

Código de retorno Descrição
VIDEO_ENUM_INVALID_DEVICE Ligue novamente. O driver de miniporto 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 miniporto não pôde enumerar o dispositivo filho identificado em ChildEnumInfo. Pare a enumeração. Não há mais dispositivos a serem enumerados.

Comentários

Por padrão, HwVidGetVideoChildDescriptor só é chamado depois que o dispositivo é iniciado pelo HwVidFindAdapter. Para permitir a enumeração dos filhos de um dispositivo antes do dispositivo ser iniciado, defina o membro AllowEarlyEnumeration de VIDEO_HW_INITIALIZATION_DATA. Quando AllowEarlyEnumeration é definido, HwVidGetVideoChildDescriptor pode ser chamado a qualquer momento.

HwVidGetVideoChildDescriptor deve fazer o seguinte:

  • Determine o tipo do dispositivo filho com base nos dados fornecidos no ChildEnumInfo e retorne esse tipo em VideoChildType.
  • Preencha o buffer ao 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 o gerenciamento de energia.
HwVidGetVideoChildDescriptor deve ser tornado pageable.

Requisitos

   
Plataforma de Destino Desktop
Cabeçalho video.h (inclua Video.h)

Confira também

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren