Interfaces y objetos VidPN
El administrador de la red de presentación de vídeo (VidPN) usa un objeto VidPN para mantener información sobre las asociaciones entre orígenes de vídeo presentes, destinos de presentación de vídeo y modos de visualización. Para obtener más información, vea el tema Introducción a las redes de presentación de vídeo .
VidPN (objeto)
Un objeto VidPN contiene los siguientes subobjetos.
Topología
Conjunto de modo de origen
Conjunto de modo de destino
Supervisión del conjunto de modo de origen
Supervisión del conjunto de intervalos de frecuencia
Supervisión del conjunto de descriptores
Ruta de acceso
Source
Destino
Modo de origen
Modo de destino
Supervisión del modo de origen
En el diagrama siguiente se muestra un objeto VidPN y sus subobjetos.
En el diagrama anterior se muestra si una asociación determinada es uno a uno, uno a varios, varios a uno o varios a varios. Por ejemplo, el diagrama muestra que un origen puede pertenecer a más de una ruta de acceso, pero un destino solo puede pertenecer a una ruta de acceso.
Se accede a los objetos azules del diagrama a través de identificadores e interfaces, y se accede a los objetos grises a través de punteros de estructura. Una interfaz en este contexto es una estructura que contiene punteros de función. Por ejemplo, la estructura de DXGK_VIDPNTOPOLOGY_INTERFACE contiene punteros a funciones (implementadas por el administrador vidPN) a las que llama el controlador de miniporte para mostrar para inspeccionar y modificar un objeto de topología. Cuando el controlador de miniporte de pantalla llama a cualquiera de esas funciones, debe proporcionar un identificador a un objeto de topología. En la tabla siguiente se enumeran los tipos de datos de identificador, interfaz y puntero usados para acceder a un objeto VidPN y sus subobjetos.
Object | Método de acceso y tipo de datos |
---|---|
VidPN (interfaz VidPN) | Acceso a través del identificador y la interfaz. D3DKMDT_HVIDPN, DXGK_VIDPN_INTERFACE |
Topología (interfaz de topología VidPN) | Acceso a través del identificador y la interfaz. D3DKMDT_HVIDPNTOPOLOGY, DXGK_VIDPNTOPOLOGY_INTERFACE |
Conjunto de modo de origen (Interfaz de conjunto de modo de origen vidPN) | Acceso a través del identificador y la interfaz. D3DKMDT_HVIDPNSOURCEMODESET, DXGK_VIDPNSOURCEMODESET_INTERFACE |
Conjunto de modo de destino (interfaz de conjunto de modo de destino vidPN) | Acceso a través del identificador y la interfaz. D3DKMDT_HVIDPNTARGETMODESET, DXGK_VIDPNTARGETMODESET_INTERFACE |
Supervisión del conjunto de modo de origen | Acceso a través del identificador y la interfaz. D3DKMDT_HMONITORSOURCEMODESET, DXGK_MONITORSOURCEMODESET_INTERFACE |
Ruta de acceso | Se accede a través del puntero de estructura. D3DKMDT_VIDPN_PRESENT_PATH |
Source | Se accede a través del puntero de estructura. D3DKMDT_VIDEO_PRESENT_SOURCE |
Destino | Se accede a través del puntero de estructura. D3DKMDT_VIDEO_PRESENT_TARGET |
Modo de origen | Se accede a través del puntero de estructura. D3DKMDT_VIDPN_SOURCE_MODE |
Modo de destino | Se accede a través del puntero de estructura. D3DKMDT_VIDPN_TARGET_MODE |
Supervisión del modo de origen | Se accede a través del puntero de estructura. D3DKMDT_MONITOR_SOURCE_MODE |
Supervisión del conjunto de intervalos de frecuencia | Se accede a través del puntero de estructura. [DXGK_MONITORFREQUENCYRANGESET_INTERFACE |
Supervisión del conjunto de descriptores | Se accede a través del puntero de estructura. [DXGK_MONITORDESCRIPTORSET_INTERFACE |
VidPN Manager
El administrador vidPN, que es uno de los componentes del subsistema de kernel de gráficos de DirectX, coopera con el controlador de minipuerto de pantalla para compilar y mantener VidPN. En los pasos siguientes se describe cómo el controlador de minipuerto de pantalla obtiene un identificador y una interfaz para un objeto VidPN.
Durante la inicialización, el subsistema del kernel de gráficos de DirectX llama a la función DxgkDdiStartDevice del controlador de miniporte de pantalla. Esa llamada proporciona al controlador de minipuerto de pantalla una estructura de DXGKRNL_INTERFACE , que contiene punteros a las funciones implementadas por el subsistema del kernel de gráficos de DirectX. Una de esas funciones es DxgkCbQueryVidPnInterface.
En algún momento, el administrador de VidPN necesita ayuda desde el controlador de minipuerto de pantalla, por lo que proporciona al controlador de minipuerto de pantalla un identificador para un objeto VidPN llamando a una de las siguientes funciones:
El controlador de minipuerto de pantalla pasa el identificador obtenido en el paso 2 a DxgkCbQueryVidPnInterface, que devuelve un puntero a una estructura de DXGK_VIDPN_INTERFACE .
Una vez que el controlador de miniporte de pantalla tiene un identificador y una interfaz para un objeto VidPN, puede obtener identificadores e interfaces (según sea necesario) en los subobjetos principales: topología, conjunto de modo de origen, conjunto de modo de destino y conjunto de modo de origen de supervisión. Por ejemplo, el controlador de minipuerto de pantalla puede llamar a pfnGetTopology (una de las funciones de la interfaz VidPN) para obtener un identificador de un objeto de topología VidPN y un puntero a una estructura de DXGK_VIDPNTOPOLOGY_INTERFACE .
Las siguientes funciones (en la interfaz VidPN) proporcionan identificadores e interfaces a los subobjetos principales de un objeto VidPN.
Tenga en cuenta que dos de las funciones de la lista anterior tienen funciones correspondientes que liberan los sub-objetos VidPN.
Después de que el controlador de miniporte de pantalla obtenga un identificador y una interfaz para uno de los subobjetos primarios de VidPN, puede llamar a las funciones de interfaz para obtener descriptores de objetos relacionados con el subobjeto. Por ejemplo, dado un identificador y una interfaz a un objeto de topología, el controlador de miniporte para mostrar podría realizar los pasos siguientes para obtener descriptores de todas las rutas de acceso de la topología.
-
Llame a la función pfnAcquireFirstPathInfo de la interfaz de topología VidPN para obtener un puntero a una estructura de D3DKMDT_VIDPN_PRESENT_PATH que describe la primera ruta de acceso de la topología.
-
Llame repetidamente a la función pfnAcquireNextPathInfo para obtener punteros a D3DKMDT_VIDPN_PRESENT_PATH estructuras que describen las rutas de acceso restantes de la topología.
Del mismo modo, el controlador de minipuerto de pantalla puede obtener descriptores de los modos en un conjunto de modos llamando a las funciones pfnAcquireFirstModeInfo y pfnAcquireNextModeInfo de cualquiera de las siguientes interfaces de conjunto de modos.
Tenga en cuenta que la interfaz DXGK_VIDPNSOURCEMODESET_INTERFACE no tiene ninguna función para quitar un modo de un conjunto de modo de origen. Cuando el controlador de miniporte de pantalla necesita actualizar un conjunto de modo de origen, no modifica un conjunto de modo existente agregando y quitando modos. En su lugar, crea un nuevo conjunto de modo que reemplaza el conjunto de modo anterior. Un ejemplo de una función que debe actualizar conjuntos de modos es la función DxgkDdiEnumVidPnCofuncModality del controlador de miniporte de pantalla. Los pasos necesarios para actualizar un conjunto de modo de origen son los siguientes:
Llame a pfnCreateNewModeInfo de la interfaz de DXGK_VIDPNSOURCEMODESET_INTERFACE para obtener un puntero a una estructura de D3DKMDT_VIDPN_SOURCE_MODE (asignada por el administrador de VidPN).
Llame repetidamente a pfnAddMode para agregar modos al conjunto de modos de origen.
Llame a la función pfnAssignSourceModeSet del DXGK_VIDPN_INTERFACE para asignar el nuevo modo establecido a un origen de vídeo presente determinado. El nuevo conjunto de modo de origen reemplaza el conjunto de modo de origen que está asignado actualmente a ese origen.
Actualizar un conjunto de modo de destino es similar a actualizar un conjunto de modo de origen. La interfaz DXGK_VIDPNTARGETMODESET_INTERFACE tiene las siguientes funciones:
Interfaz de conjunto de modo de destino vidPN
Función pfnCreateNewModeInfo para crear un nuevo conjunto de modos de destino y una función pfnAddMode para agregar modos al conjunto.
No hay ninguna interfaz (conjunto de funciones) para obtener el origen y el destino que pertenecen a una ruta de acceso determinada. El controlador de minipuerto para mostrar puede determinar qué origen y destino pertenecen a una ruta de acceso determinada inspeccionando los miembros VidPnSourceId y VidPnTargetId de la estructura D3DKMDT_VIDPN_PRESENT_PATH que representa la ruta de acceso.
Consulte también
Determinar si se admite un VidPN en un adaptador de pantalla
Enumeración de los modos de origen y destino de VidPN cofuncionales