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.

Diagrama que ilustra un objeto VidPN y sus diversos subobjetos, incluida la topología, los conjuntos de modo y las rutas de acceso.

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.

  1. 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.

  2. 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:

  3. 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.

  1. Interfaz de topología vidPN

    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.

  2. Interfaz de topología vidPN

    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:

  1. 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.

  2. 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:

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

Terminología de red de presentación de vídeo

Obtención de modos de destino de monitor adicionales