Suporte a tela sem fio Miracast
O suporte para o padrão de exibição sem fio Miracast foi introduzido no Windows 8.1 (WDDM 1.3).
Suporte a Miracast a partir do Windows 10
A partir do Windows 10 (WDDM 2.0), o sistema operacional é fornecido com uma pilha Miracast integrada que pode funcionar em qualquer GPU. Para obter informações sobre a pilha do Microsoft Miracast e os requisitos de drivers e hardware para oferecer suporte a monitores Miracast a partir do Windows 10, consulte a seguinte documentação:
Criando as melhores soluções de projeção sem fio da categoria com o Windows 10
A documentação relevante do WHLK em Device.Graphics.WDDM13.DisplayRender.WirelessDisplay
Os desenvolvedores de drivers não devem mais implementar uma pilha Miracast personalizada. A Microsoft pode remover o suporte para pilhas Miracast personalizadas em uma versão futura do Windows.
Suporte a Miracast no Windows 8.1
Os drivers WDDM 1.3 podem, opcionalmente, oferecer suporte a Miracast por meio das DDIs Miracast fornecidas no Windows 8.1. O restante deste artigo e seus artigos relacionados descrevem como fornecer esse suporte.
Interfaces de driver de dispositivo (DDIs) de modo de usuário
Funções de retorno de chamada de exibição sem fio chamadas por drivers de modo de usuário Miracast
A tabela a seguir lista as funções de modo de usuário de exibição sem fio (Miracast) que o sistema operacional implementa. Somente os drivers de modo de usuário Miracast do Windows 8.1 podem chamar essas funções. Os ponteiros para as funções de retorno de chamada de exibição Miracast são retornados em uma estrutura MIRACAST_CALLBACKS .
Função | Descrição |
---|---|
PFN_GET_NEXT_CHUNK_DATA | Fornece informações sobre o próximo bloco de codificação Miracast que foi relatado ao subsistema de kernel de gráficos DirectX quando o tipo de interrupção DXGK_INTERRUPT_TYPE é DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE. |
PFN_MIRACAST_IO_CONTROL | Chamado pelo driver de exibição de modo de usuário para enviar ao driver de miniporta de exibição de modo kernel uma solicitação de controle de E/S síncrona. |
PFN_REGISTER_DATARATE_NOTIFICATIONS | Chamado pelo driver de modo de usuário para se registrar no sistema operacional para receber notificações de QoS (qualidade de serviço) de rede e a largura de banda de rede atual da conexão Miracast. |
PFN_REPORT_SESSION_STATUS | Chamado pelo driver de exibição do modo de usuário para relatar o status da sessão conectada Miracast atual. |
PFN_REPORT_STATISTIC | Chamado pelo driver de exibição do modo de usuário para relatar as estatísticas do link Miracast para o sistema operacional. |
Funções de exibição sem fio implementadas pelos drivers de modo de usuário Miracast do Windows 8.1
A tabela a seguir lista as funções de exibição sem fio (Miracast) que um driver de modo de usuário Miracast do Windows 8.1 deve implementar. Esse tipo de driver é executado em uma DLL autônoma.
Em resposta a uma chamada do sistema operacional para a função QueryMiracastDriverInterface, o driver de modo de usuário Miracast deve fornecer ponteiros para essas funções na estrutura MIRACAST_DRIVER_INTERFACE. A exceção é pfnDataRateNotify, que tem um ponteiro declarado em RegisterForDataRateNotifications.
Função | Descrição |
---|---|
PFN_CREATE_MIRACAST_CONTEXT | Chamado pelo sistema operacional para criar um contexto Miracast no modo de usuário. |
PFN_DESTROY_MIRACAST_CONTEXT | Chamado pelo sistema operacional para destruir um contexto Miracast de modo de usuário. |
PFN_HANDLE_KMD_MESSAGE | Chamado pelo sistema operacional para manipular a mensagem de modo kernel assíncrono que o driver de modo de usuário Miracast recebe quando o driver de miniporta de exibição chama a função DxgkCbMiracastSendMessage . |
PFN_DATARATE_NOTIFICATION | Chamado pelo sistema operacional para notificar o driver de modo de usuário Miracast que a taxa de bits do link de rede Miracast foi alterada. Essa função é registrada no sistema operacional quando a função RegisterForDataRateNotifications é chamada. |
QUERY_MIRACAST_DRIVER_INTERFACE | Chamado pelo sistema operacional para consultar a interface do driver de modo de usuário Miracast, MIRACAST_DRIVER_INTERFACE. |
PFN_START_MIRACAST_SESSION | Chamado pelo sistema operacional para iniciar uma sessão conectada ao Miracast. |
PFN_STOP_MIRACAST_SESSION | Chamado pelo sistema operacional para iniciar uma sessão conectada Miracast que foi iniciada anteriormente por uma chamada para a função StartMiracastSession . |
Estruturas e enumerações relacionadas
A tabela a seguir lista as estruturas de modo de usuário e enumerações que são usadas com o Windows 8.1 Miracast display device driver interfaces (DDIs).
Estruturar/Enum | Descrição |
---|---|
MIRACAST_CALLBACKS | Contém ponteiros para funções de retorno de chamada de tempo de execução de exibição sem fio (Miracast) que o driver de modo de usuário Miracast pode chamar. |
MIRACAST_CHUNK_DATA | Contém dados de bloco de codificação a serem usados quando um driver de modo de usuário chama a função GetNextChunkData de exibição sem fio (Miracast). |
MIRACAST_CHUNK_ID | Armazena informações que identificam um bloco de codificação de exibição sem fio (Miracast). |
MIRACAST_CHUNK_INFO | Contém informações sobre um bloco de codificação de exibição sem fio especificado (Miracast). |
MIRACAST_CHUNK_TYPE | Especifica os tipos de informações de bloco de exibição sem fio (Miracast) que devem ser processadas. |
MIRACAST_DATARATE_STATS | Contém informações usadas na função pfnDataRateNotify do monitor sem fio (Miracast) sobre a taxa de bits do codificador de áudio/vídeo e quadros Wi-Fi com falha ou repetidos. |
MIRACAST_DRIVER_INTERFACE | Contém ponteiros para funções de exibição sem fio (Miracast) que o driver de modo de usuário Miracast implementa. |
MIRACAST_PROTOCOL_EVENT | Especifica os tipos de evento de protocolo de exibição sem fio (Miracast) que o driver de exibição de modo de usuário deve relatar. |
MIRACAST_SESSION_INFO | Contém informações sobre uma sessão conectada de exibição sem fio (Miracast). |
MIRACAST_STATISTIC_DATA | Contém dados de estatísticas Miracast que o driver de exibição do modo de usuário relata ao sistema operacional. |
MIRACAST_STATISTIC_TYPE | Especifica tipos de dados de estatísticas Miracast gerados pelo driver de exibição no modo de usuário. |
MIRACAST_STATUS | Especifica os tipos de status que o driver de exibição de modo de usuário usa para relatar o status da conexão Miracast. |
MIRACAST_WFD_CONNECTION_STATS | Contém informações sobre a taxa de bits na conexão Wi-Fi Direct. |
As seguintes estruturas de modo de usuário e enumerações oferecem suporte a exibições Miracast e foram novas ou atualizadas para o Windows 8.1:
- DISPLAYCONFIG_TARGET_BASE_TYPE (novo)
- DISPLAYCONFIG_VIDEO_SIGNAL_INFO (estrutura filho AdditionalSignalInfo adicionada)
- DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE constante adicionada)
- D3DKMDT_VIDEO_SIGNAL_INFO (estrutura filho AdditionalSignalInfo adicionada)
- DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE constante adicionada)
DDIs no modo kernel
Interface de retorno de chamada de exibição sem fio (Miracast)
A interface de retorno de chamada de exibição Miracast contém funções que o subsistema de kernel de gráficos DirectX implementa para oferecer suporte a exibições sem fio (Miracast) no Windows 8.1.
A tabela a seguir lista essas funções de modo kernel, que são chamadas pelos drivers de miniporta de exibição WDDM 1.3:
Função | Descrição |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE | Envia uma mensagem assíncrona para o driver de exibição de modo de usuário. |
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | Chamado no modo kernel quando a mensagem que foi enviada para o driver de modo de usuário com uma chamada para a função DxgkCbMiracastSendMessage é concluída ou cancelada. |
DXGKCB_MIRACAST_REPORT_CHUNK_INFO | Chamado pelo driver de miniporta de exibição para relatar informações sobre um bloco de codificação. |
O driver de miniporta de exibição deve preencher ponteiros para essas funções na estrutura DXGK_MIRACAST_DISPLAY_CALLBACKS.
Interface de exibição sem fio (Miracast)
A tabela a seguir lista as funções de modo kernel que os drivers de miniporta de exibição implementam para oferecer suporte a exibições sem fio (Miracast) no Windows 8.1. Os ponteiros para as funções da interface Miracast são retornados em uma estrutura DXGK_MIRACAST_INTERFACE .
Função | Descrição |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | Chamado no modo kernel quando a mensagem que foi enviada para o driver de modo de usuário com uma chamada para a função DxgkCbMiracastSendMessage é concluída ou cancelada. |
DXGKDDI_MIRACAST_CREATE_CONTEXT | Cria um contexto de modo kernel para um dispositivo Miracast. |
DXGKDDI_MIRACAST_DESTROY_CONTEXT | Destrói uma instância de um dispositivo Miracast. |
DXGKDDI_MIRACAST_HANDLE_IO_CONTROL | Chamado pelo sistema operacional para solicitar que o driver de miniporta de exibição processe uma solicitação de controle de E/S síncrona em resposta a uma chamada de driver de exibição de modo de usuário para a função MiracastIoControl. |
DXGKDDI_MIRACAST_QUERY_CAPS | Consulta os recursos de Miracast do adaptador de vídeo atual. O sistema operacional chama essa função somente quando o adaptador de vídeo é iniciado pela primeira vez e, em seguida, armazena os recursos retornados. |
Essas estruturas e enumerações de modo kernel oferecem suporte a exibições Miracast e foram novas ou atualizadas para o Windows 8.1:
- DXGK_MIRACAST_CAPS
- D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY (D3DKMDT_VOT_MIRACAST constante adicionada)
- D3DKMDT_VIDEO_SIGNAL_INFO (estrutura filho AdditionalSignalInfo adicionada)
- DXGK_CHILD_STATUS (estrutura filho Miracast adicionada)
- DXGK_CHILD_STATUS_TYPE (constante StatusMiracast adicionada)
- DXGKARGCB_NOTIFY_INTERRUPT_DATA (MiracastEncodeChunkEstrutura filho adicionada)
Artigos relacionados para drivers Miracast do Windows 8.1
- Tarefas do driver de miniporta de exibição WDDM 1.3 para oferecer suporte a monitores sem fio Miracast
- Tarefas do driver de modo de usuário do WDDM 1.3 Miracast para oferecer suporte a monitores sem fio Miracast
- Relatórios Miracast codificam blocos e estatísticas
- Chamando funções DisplayConfig para um destino Miracast