PVIDEO_HW_QUERY_INTERFACE función de devolución de llamada (video.h)
HwVidQueryInterface devuelve una interfaz funcional implementada por el controlador miniport que un dispositivo secundario puede llamar.
Sintaxis
PVIDEO_HW_QUERY_INTERFACE PvideoHwQueryInterface;
VP_STATUS PvideoHwQueryInterface(
PVOID HwDeviceExtension,
PQUERY_INTERFACE QueryInterface
)
{...}
Parámetros
HwDeviceExtension
Puntero al área de almacenamiento por adaptador del controlador de miniporte. Para obtener más información, consulte Extensiones de dispositivo.
QueryInterface
Puntero a una estructura de QUERY_INTERFACE en la que el controlador de minipuerto debe devolver información sobre la interfaz que admite.
Valor devuelto
HwVidQueryInterface debe devolver NO_ERROR tras el éxito; de lo contrario, debe devolver el código de error adecuado. Por ejemplo, un controlador de minipuerto debe devolver ERROR_OUTOFMEMORY si no puede asignar memoria para completar la operación.
Comentarios
HwVidQueryInterface expone un mecanismo de comunicación entre el controlador de minipuerto de vídeo y el controlador de un dispositivo secundario. Un controlador de minipuerto que expone este mecanismo debe implementar esta función.
El puerto de vídeo llama a HwVidQueryInterface cuando recibe una solicitud de IRP_MN_QUERY_INTERFACE. Si el controlador de minipuerto produce un error en la llamada, el controlador de puerto de vídeo pasa la solicitud al elemento primario del dispositivo del controlador de miniporte.
HwVidQueryInterface debe rellenar los miembros de la estructura INTERFACE a la que queryInterface-Interface> apunta de la siguiente manera:
- Establezca Tamaño en el número de bytes de la estructura INTERFACE. Este valor no debe superar el número de bytes especificados por QueryInterface->Size.
- Establezca Versión en la versión de la interfaz devuelta por el controlador de miniport. El controlador de minipuerto debe coincidir mejor con la versión solicitada por el controlador secundario en QueryInterface Version( Versión de QueryInterface->).
- Establezca Contexto para que apunte a un contexto definido por el controlador de miniport para la interfaz. Normalmente, un controlador de minipuerto establecería Context para que apunte a la extensión del dispositivo identificada por HwDeviceExtension.
- Inicialice InterfaceReference e InterfaceDereference para que apunte a las rutinas de referencia y desreferencia implementadas por el controlador de miniporte para esta interfaz.
- Inicialice todos los miembros adicionales específicos de la interfaz para que apunten a las rutinas adecuadas de la interfaz que se exponen.
El controlador de un dispositivo secundario puede llamar al controlador de minipuerto a través de las funciones expuestas por HwVidQueryInterface en cualquier momento sin el conocimiento del controlador de puerto de vídeo. Por lo tanto, el controlador de minipuerto debe sincronizar el acceso a sí mismo mediante la adquisición y liberación del bloqueo del dispositivo mantenido por el controlador de puerto de vídeo en todas las funciones expuestas por HwVidQueryInterface.
HwVidGetVideoChildDescriptor enumera un dispositivo secundario.
HwVidQueryInterface debe ser paginable.
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Escritorio |
Encabezado | video.h (incluya Video.h) |