PVIDEO_HW_QUERY_INTERFACE função de retorno de chamada (video.h)
HwVidQueryInterface retorna uma interface funcional implementada pelo driver de miniporto que um dispositivo filho pode chamar.
Sintaxe
PVIDEO_HW_QUERY_INTERFACE PvideoHwQueryInterface;
VP_STATUS PvideoHwQueryInterface(
PVOID HwDeviceExtension,
PQUERY_INTERFACE QueryInterface
)
{...}
Parâmetros
HwDeviceExtension
Ponteiro para a área de armazenamento por adaptador do driver de miniport. Para obter mais informações, consulte Extensões de dispositivo.
QueryInterface
Ponteiro para uma estrutura QUERY_INTERFACE na qual o driver de miniporto deve retornar informações sobre a interface à qual ele dá suporte.
Retornar valor
HwVidQueryInterface deve retornar NO_ERROR após o sucesso; caso contrário, ele deve retornar o código de erro apropriado. Por exemplo, um driver de miniporto deverá retornar ERROR_OUTOFMEMORY se não puder alocar memória para concluir a operação.
Comentários
HwVidQueryInterface expõe um mecanismo de comunicação entre o driver de miniporto de vídeo e o driver de um dispositivo filho. Um driver de miniporta que expõe esse mecanismo deve implementar essa função.
A porta de vídeo chama HwVidQueryInterface quando recebe uma solicitação de IRP_MN_QUERY_INTERFACE. Se o driver de miniporta falhar na chamada, o driver da porta de vídeo passará a solicitação para o pai do dispositivo do driver de miniporto.
HwVidQueryInterface deve preencher os membros da estrutura INTERFACE à qual QueryInterface-Interface> aponta da seguinte maneira:
- Defina Tamanho como o número de bytes na estrutura INTERFACE. Esse valor não deve exceder o número de bytes especificado por QueryInterface->Size.
- Defina Versão como a versão da interface que está sendo retornada pelo driver de miniport. O driver de miniporta deve corresponder melhor à versão solicitada pelo driver filho em QueryInterface->Version.
- Defina Contexto para apontar para um contexto definido pelo driver de miniporto para a interface. Normalmente, um driver de miniporto definiria Contexto para apontar para a extensão de dispositivo identificada por HwDeviceExtension.
- Inicialize InterfaceReference e InterfaceDereference para apontar para as rotinas de referência e desreferência implementadas pelo driver de miniport para essa interface.
- Inicialize todos os membros adicionais específicos da interface para apontar para as rotinas apropriadas da interface que está sendo exposta.
O driver de um dispositivo filho pode chamar o driver de miniporta por meio das funções expostas por HwVidQueryInterface a qualquer momento sem o conhecimento do driver de porta de vídeo. Consequentemente, o driver de miniporto deve sincronizar o acesso a si mesmo adquirindo e liberando o bloqueio de dispositivo mantido pelo driver de porta de vídeo em todas as funções expostas por HwVidQueryInterface.
Um dispositivo filho é enumerado por HwVidGetVideoChildDescriptor.
HwVidQueryInterface deve ser tornado paginável.
Requisitos
Requisito | Valor |
---|---|
Plataforma de Destino | Área de Trabalho |
Cabeçalho | video.h (incluir Video.h) |