Compatibilidad con la pantalla inalámbrica miracast
La compatibilidad con el estándar de pantalla inalámbrica Miracast se introdujo en Windows 8.1 (WDDM 1.3).
Compatibilidad con Miracast a partir de Windows 10
A partir de Windows 10 (WDDM 2.0), el sistema operativo se incluye con una pila de Miracast integrada que puede funcionar en cualquier GPU. Para obtener información sobre la pila de Microsoft Miracast y los requisitos de controladores y hardware para admitir pantallas de Miracast a partir de Windows 10, consulte la siguiente documentación:
Creación de soluciones de proyección inalámbrica de primera clase con Windows 10
La documentación pertinente de WHLK en Device.Graphics.WDDM13.DisplayRender.WirelessDisplay
Los desarrolladores de controladores ya no deben implementar una pila personalizada de Miracast. Microsoft podría quitar la compatibilidad con pilas de Miracast personalizadas en una versión futura de Windows.
Compatibilidad con Miracast en Windows 8.1
Opcionalmente, los controladores WDDM 1.3 podían admitir Miracast a través de las DDI de Miracast proporcionadas en Windows 8.1. El resto de este artículo y sus artículos relacionados describen cómo proporcionar esa compatibilidad.
Interfaces de controlador de dispositivo en modo de usuario (DDIs)
Funciones de devolución de llamada de pantalla inalámbrica llamadas por los controladores en modo de usuario de Miracast
En la tabla siguiente se enumeran las funciones del modo de usuario de pantalla inalámbrica (Miracast) que implementa el sistema operativo. Solo los controladores del modo de usuario de Miracast de Windows 8.1 pueden llamar a estas funciones. Los punteros a las funciones de devolución de llamada de visualización de Miracast se devuelven en una estructura de MIRACAST_CALLBACKS .
Función | Descripción |
---|---|
PFN_GET_NEXT_CHUNK_DATA | Proporciona información sobre el siguiente fragmento de codificación de Miracast que se informó al subsistema del kernel de gráficos de DirectX cuando se DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE el tipo de interrupción de DXGK_INTERRUPT_TYPE . |
PFN_MIRACAST_IO_CONTROL | Lo llama el controlador de pantalla en modo de usuario para enviar al controlador de miniporte de pantalla en modo kernel una solicitud de control de E/S sincrónica. |
PFN_REGISTER_DATARATE_NOTIFICATIONS | Lo llama el controlador en modo de usuario para registrarse en el sistema operativo para recibir notificaciones de calidad de servicio (QoS) de red y el ancho de banda de red actual de la conexión miracast. |
PFN_REPORT_SESSION_STATUS | Llamado por el controlador de pantalla en modo de usuario para notificar el estado de la sesión conectada de Miracast actual. |
PFN_REPORT_STATISTIC | Llamado por el controlador de pantalla en modo de usuario para informar de las estadísticas del vínculo de Miracast al sistema operativo. |
Funciones de pantalla inalámbrica implementadas por controladores en modo de usuario de Miracast de Windows 8.1
En la tabla siguiente se enumeran las funciones de visualización inalámbrica (Miracast) que debe implementar un controlador en modo de usuario de Miracast de Windows 8.1. Este tipo de controlador se ejecuta en un archivo DLL independiente.
En respuesta a una llamada del sistema operativo a la función QueryMiracastDriverInterface , el controlador del modo de usuario de Miracast debe proporcionar punteros a estas funciones en la estructura de MIRACAST_DRIVER_INTERFACE . La excepción es pfnDataRateNotify, que tiene un puntero declarado en RegisterForDataRateNotifications.
Función | Descripción |
---|---|
PFN_CREATE_MIRACAST_CONTEXT | Llamado por el sistema operativo para crear un contexto miracast en modo de usuario. |
PFN_DESTROY_MIRACAST_CONTEXT | Llamado por el sistema operativo para destruir un contexto miracast en modo de usuario. |
PFN_HANDLE_KMD_MESSAGE | Lo llama el sistema operativo para controlar el mensaje asincrónico en modo kernel que recibe el controlador en modo de usuario de Miracast cuando el controlador de miniporte de pantalla llama a la función DxgkCbMiracastSendMessage . |
PFN_DATARATE_NOTIFICATION | Llamado por el sistema operativo para notificar al controlador del modo de usuario de Miracast que cambió la velocidad de bits del vínculo de red de Miracast. Esta función se registra con el sistema operativo cuando se llama a la función RegisterForDataRateNotifications . |
QUERY_MIRACAST_DRIVER_INTERFACE | Llamado por el sistema operativo para consultar la interfaz del controlador del modo de usuario de Miracast, MIRACAST_DRIVER_INTERFACE. |
PFN_START_MIRACAST_SESSION | Llamado por el sistema operativo para iniciar una sesión conectada a Miracast. |
PFN_STOP_MIRACAST_SESSION | Lo llama el sistema operativo para iniciar una sesión conectada a Miracast iniciada anteriormente por una llamada a la función StartMiracastSession . |
Estructuras y enumeraciones relacionadas
En la tabla siguiente se enumeran las estructuras y enumeraciones en modo de usuario que se usan con interfaces de controlador de dispositivo de visualización (DDIs) de Miracast para Windows 8.1.
Struct/Enum | Descripción |
---|---|
MIRACAST_CALLBACKS | Contiene punteros a funciones de devolución de llamada en tiempo de ejecución de pantalla inalámbrica (Miracast) a las que puede llamar el controlador del modo de usuario de Miracast. |
MIRACAST_CHUNK_DATA | Contiene datos de fragmentos de codificación que se usarán cuando un controlador en modo de usuario llama a la función GetNextChunkData de la pantalla inalámbrica (Miracast). |
MIRACAST_CHUNK_ID | Almacena información que identifica un fragmento de codificación de pantalla inalámbrica (Miracast). |
MIRACAST_CHUNK_INFO | Contiene información sobre un fragmento de codificación de pantalla inalámbrica (Miracast) especificado. |
MIRACAST_CHUNK_TYPE | Especifica los tipos de información de fragmento de pantalla inalámbrica (Miracast) que se va a procesar. |
MIRACAST_DATARATE_STATS | Contiene información usada en la función pfnDataRateNotify de la pantalla inalámbrica (Miracast) sobre la velocidad de bits del codificador de audio/vídeo y los fotogramas Wi-Fi con errores o reintentados. |
MIRACAST_DRIVER_INTERFACE | Contiene punteros a funciones de visualización inalámbrica (Miracast) que implementa el controlador en modo usuario de Miracast. |
MIRACAST_PROTOCOL_EVENT | Especifica los tipos de evento de protocolo de pantalla inalámbrica (Miracast) que debe notificar el controlador de pantalla en modo de usuario. |
MIRACAST_SESSION_INFO | Contiene información sobre una sesión conectada de pantalla inalámbrica (Miracast). |
MIRACAST_STATISTIC_DATA | Contiene datos de estadísticas de Miracast que el controlador de visualización en modo de usuario informa al sistema operativo. |
MIRACAST_STATISTIC_TYPE | Especifica los tipos de datos de estadísticas de Miracast que genera el controlador de visualización en modo de usuario. |
MIRACAST_STATUS | Especifica los tipos de estado que usa el controlador de visualización en modo de usuario para notificar el estado de conexión de Miracast. |
MIRACAST_WFD_CONNECTION_STATS | Contiene información de velocidad de bits en la conexión Wi-Fi Direct. |
Las siguientes estructuras y enumeraciones en modo de usuario admiten pantallas de Miracast y eran nuevas o actualizadas para Windows 8.1:
- DISPLAYCONFIG_TARGET_BASE_TYPE (nuevo)
- DISPLAYCONFIG_VIDEO_SIGNAL_INFO (se agregó la estructura secundaria AdditionalSignalInfo)
- DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE constante agregada)
- D3DKMDT_VIDEO_SIGNAL_INFO (se agregó la estructura secundaria AdditionalSignalInfo)
- DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE constante agregada)
DDIs en modo kernel
Interfaz de devolución de llamada de pantalla inalámbrica (Miracast)
La interfaz de devolución de llamada de visualización de Miracast contiene funciones que el subsistema de kernel gráficos de DirectX implementa para admitir pantallas inalámbricas (Miracast) en Windows 8.1.
En la tabla siguiente se enumeran estas funciones en modo kernel, a las que llama WDDM 1.3 para mostrar controladores de miniport:
Función | Descripción |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE | Envía un mensaje asincrónico al controlador de pantalla en modo de usuario. |
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | Se llama en modo kernel cuando se completa o cancela el mensaje enviado al controlador en modo de usuario con una llamada a la función DxgkCbMiracastSendMessage . |
DXGKCB_MIRACAST_REPORT_CHUNK_INFO | Lo llama el controlador de minipuerto para mostrar información sobre un fragmento de codificación. |
El controlador de minipuerto de pantalla debe rellenar punteros a estas funciones en la estructura DXGK_MIRACAST_DISPLAY_CALLBACKS .
Interfaz de pantalla inalámbrica (Miracast)
En la tabla siguiente se enumeran las funciones en modo kernel que muestran controladores de miniporte implementan para admitir pantallas inalámbricas (Miracast) en Windows 8.1. Los punteros a las funciones de interfaz miracast se devuelven en una estructura de DXGK_MIRACAST_INTERFACE .
Función | Descripción |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | Se llama en modo kernel cuando se completa o cancela el mensaje enviado al controlador en modo de usuario con una llamada a la función DxgkCbMiracastSendMessage . |
DXGKDDI_MIRACAST_CREATE_CONTEXT | Crea un contexto en modo kernel para un dispositivo Miracast. |
DXGKDDI_MIRACAST_DESTROY_CONTEXT | Destruye una instancia de un dispositivo Miracast. |
DXGKDDI_MIRACAST_HANDLE_IO_CONTROL | Lo llama el sistema operativo para solicitar que el controlador de miniporte para mostrar procese una solicitud de control de E/S sincrónica en respuesta a una llamada de controlador de pantalla en modo de usuario a la función MiracastIoControl. |
DXGKDDI_MIRACAST_QUERY_CAPS | Consulta las funcionalidades de Miracast del adaptador de pantalla actual. El sistema operativo llama a esta función solo cuando se inicia por primera vez el adaptador de pantalla y, a continuación, almacena las funcionalidades que se devuelven. |
Estas estructuras y enumeraciones en modo kernel admiten pantallas de Miracast y eran nuevas o actualizadas para Windows 8.1:
- DXGK_MIRACAST_CAPS
- D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY (D3DKMDT_VOT_MIRACAST constante agregada)
- D3DKMDT_VIDEO_SIGNAL_INFO (se agregó la estructura secundaria AdditionalSignalInfo)
- DXGK_CHILD_STATUS (se ha agregado la estructura secundaria miracast)
- DXGK_CHILD_STATUS_TYPE (constante StatusMiracast agregada)
- DXGKARGCB_NOTIFY_INTERRUPT_DATA (se ha agregado la estructura secundaria MiracastEncodeChunkCompleted)
Artículos relacionados con controladores de Miracast de Windows 8.1
- Tareas del controlador de minipuerto de pantalla WDDM 1.3 para admitir pantallas inalámbricas miracast
- Tareas del controlador del modo de usuario de Miracast de WDDM 1.3 para admitir pantallas inalámbricas de Miracast
- Generación de informes de Miracast codifica fragmentos y estadísticas
- Llamar a funciones DisplayConfig para un destino de Miracast