Compartilhar via


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 de Extensões de Dispositivo.

[in] ChildEnumInfo

É uma estrutura VIDEO_CHILD_ENUM_INFO que descreve o dispositivo 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:

Value significado
Monitor O dispositivo filho é um monitor. Se o driver de miniporto detectar que o monitor tem uma estrutura de EDID compatível com DDC2 associada a ele, 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 estiver 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 para o qual o 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 ChildDescriptorSize membro 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 UId para ser 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 de retorno

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 no 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 Não foi possível enumerar o dispositivo filho identificado no ChildEnumInfo. Pare a enumeração. Não há mais dispositivos a serem enumerados.

Observações

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 AllowEarlyEnumeration membro do 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 em ChildEnumInfo e retorne esse tipo em VideoChildType.
  • Preencha o buffer ao qual pChildDescriptor pontos com os dados apropriados, dependendo do valor de VideoChildType.
  • Escreva um valor de 32 bits em UId que identifica exclusivamente o dispositivo filho sendo enumerado. O driver de porta de vídeo passará esse identificador de volta para o driver de miniporto para operações como gerenciamento de energia.
HwVidGetVideoChildDescriptor deve ficar paginável.

Requisitos

Requisito Valor
da Plataforma de Destino Área de trabalho
cabeçalho video.h (inclua Video.h)

Consulte também

HwVidGetPowerState

HwVidSetPowerState

VIDEO_CHILD_ENUM_INFO

VideoPortDDCMonitorHelper

VideoPortEnumerateChildren