Condividi tramite


Supporto della visualizzazione wireless Miracast

Il supporto per lo standard di visualizzazione wireless Miracast è stato introdotto in Windows 8.1 (WDDM 1.3).

Supporto di Miracast a partire da Windows 10

A partire da Windows 10 (WDDM 2.0), il sistema operativo viene fornito con uno stack Miracast predefinito che può funzionare su qualsiasi GPU. Per informazioni sullo stack Microsoft Miracast e sui requisiti dei driver e dell'hardware per supportare le visualizzazioni Miracast a partire da Windows 10, vedere la documentazione seguente:

Gli sviluppatori di driver non devono più implementare uno stack Miracast personalizzato. Microsoft potrebbe rimuovere il supporto per gli stack Miracast personalizzati in una versione futura di Windows.

Supporto di Miracast in Windows 8.1

I driver WDDM 1.3 potrebbero facoltativamente supportare Miracast tramite le DDI Miracast fornite in Windows 8.1. Il resto di questo articolo e gli articoli correlati descrivono come fornire tale supporto.

Interfacce dei driver di dispositivo in modalità utente (DDI)

Funzioni di callback per visualizzazione wireless chiamate dai driver Miracast in modalità utente

Nella tabella seguente sono elencate le funzioni in modalità utente Miracast (Wireless Display) implementate dal sistema operativo. Solo i driver in modalità utente miracast di Windows 8.1 possono chiamare queste funzioni. I puntatori alle funzioni di callback di visualizzazione Miracast vengono restituiti in una struttura MIRACAST_CALLBACKS.

Funzione Descrizione
PFN_GET_NEXT_CHUNK_DATA Fornisce informazioni sul successivo blocco di codifica Miracast segnalato al sottosistema kernel della grafica DirectX quando il tipo di interrupt DXGK_INTERRUPT_TYPE è DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE.
PFN_MIRACAST_IO_CONTROL Chiamato dal driver di visualizzazione in modalità utente per inviare una richiesta di controllo I/O sincrono al driver miniport in modalità kernel.
PFN_REGISTER_DATARATE_NOTIFICATIONS Chiamato dal driver in modalità utente per registrarsi con il sistema operativo per ricevere notifiche di qualità del servizio (QoS) di rete e la larghezza di banda di rete corrente della connessione Miracast.
PFN_REPORT_SESSION_STATUS Invocato dal driver di visualizzazione in modalità utente per segnalare lo stato della corrente sessione Miracast connessa.
PFN_REPORT_STATISTIC Chiamato dal driver di visualizzazione in modalità utente per segnalare le statistiche del collegamento Miracast al sistema operativo.

Funzioni di visualizzazione wireless implementate dai driver in modalità utente Miracast di Windows 8.1

Nella tabella seguente sono elencate le funzioni di visualizzazione wireless (Miracast) che devono essere implementate da un driver miracast in modalità utente di Windows 8.1. Questo tipo di driver viene eseguito in una DLL autonoma.

In risposta a una chiamata del sistema operativo alla funzione QueryMiracastDriverInterface, il driver miracast in modalità utente deve fornire puntatori a queste funzioni nella struttura MIRACAST_DRIVER_INTERFACE. L'eccezione è pfnDataRateNotify, che ha un puntatore dichiarato in RegisterForDataRateNotifications.

Funzione Descrizione
PFN_CREATE_MIRACAST_CONTEXT Chiamato dal sistema operativo per creare un contesto Miracast in modalità utente.
PFN_DESTROY_MIRACAST_CONTEXT Chiamato dal sistema operativo per distruggere un contesto Miracast in modalità utente.
PFN_HANDLE_KMD_MESSAGE Chiamato dal sistema operativo per gestire il messaggio asincrono in modalità kernel che il driver Miracast in modalità utente riceve quando il driver di miniport di visualizzazione chiama la funzione DxgkCbMiracastSendMessage.
PFN_DATARATE_NOTIFICATION Chiamato dal sistema operativo per notificare al driver miracast in modalità utente che la velocità in bit del collegamento di rete Miracast è cambiata. Questa funzione viene registrata nel sistema operativo quando viene chiamata la funzione RegisterForDataRateNotifications.
QUERY_MIRACAST_DRIVER_INTERFACE Chiamato dal sistema operativo per eseguire una query sull'interfaccia del driver Miracast in modalità utente, MIRACAST_DRIVER_INTERFACE.
PFN_START_MIRACAST_SESSION Chiamato dal sistema operativo per avviare una sessione Miracast connessa.
PFN_STOP_MIRACAST_SESSION Chiamato dal sistema operativo per avviare una sessione connessa Miracast avviata in precedenza da una chiamata alla funzione StartMiracastSession.

Nella tabella seguente sono elencate le strutture e le enumerazioni in modalità utente usate con le interfacce del driver di dispositivo di visualizzazione Miracast di Windows 8.1.

Struct/Enum Descrizione
MIRACAST_CALLBACKS Contiene puntatori alle funzioni di callback di runtime per display wireless (Miracast) che il driver Miracast può chiamare in modalità utente.
MIRACAST_CHUNK_DATA Contiene dati codificati di blocco da usare quando un driver in modalità utente chiama la funzione Miracast di visualizzazione wireless GetNextChunkData.
MIRACAST_CHUNK_ID Archivia le informazioni che identificano un blocco di codifica Miracast (Wireless Display).
MIRACAST_CHUNK_INFO Contiene informazioni su un blocco di codifica Miracast (Wireless Display) specificato.
MIRACAST_CHUNK_TYPE Specifica i tipi di informazioni di blocco di visualizzazione wireless (Miracast) da elaborare.
MIRACAST_DATARATE_STATS Contiene informazioni utilizzate nella funzione pfnDataRateNotify del display wireless (Miracast) sulla velocità di bit del codificatore audio/video e sui fotogrammi Wi-Fi che hanno fallito o sono stati ritentati.
MIRACAST_DRIVER_INTERFACE Contiene puntatori alle funzioni di visualizzazione wireless (Miracast) implementate dal driver in modalità utente Miracast.
MIRACAST_PROTOCOL_EVENT Specifica i tipi di evento di protocollo Miracast (Wireless Display) che il driver di visualizzazione in modalità utente deve segnalare.
MIRACAST_SESSION_INFO Contiene informazioni su una sessione connessa Miracast (Wireless Display).
MIRACAST_STATISTIC_DATA Contiene i dati statistici di Miracast che il driver di visualizzazione in modalità utente segnala al sistema operativo.
MIRACAST_STATISTIC_TYPE Specifica i tipi di dati delle statistiche Miracast generati dal driver di visualizzazione in modalità utente.
MIRACAST_STATUS Specifica i tipi di stato usati dal driver di visualizzazione in modalità utente per segnalare lo stato della connessione Miracast.
MIRACAST_WFD_CONNECTION_STATS Contiene informazioni sul bitrate della connessione diretta Wi-Fi.

Le strutture e le enumerazioni in modalità utente seguenti supportano le visualizzazioni Miracast e sono state nuove o aggiornate per Windows 8.1:

DDI in modalità kernel

Interfaccia di callback dello schermo wireless (Miracast)

L'interfaccia di callback della visualizzazione Miracast contiene funzioni implementate dal sottosistema grafico del kernel DirectX per supportare le visualizzazioni wireless (Miracast) in Windows 8.1.

La tabella seguente elenca queste funzioni in modalità kernel, chiamate dai driver miniport WDDM 1.3:

Funzione Descrizione
DXGKCB_MIRACAST_SEND_MESSAGE Invia un messaggio asincrono al driver di visualizzazione in modalità utente.
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Chiamato in modalità kernel quando viene completato o annullato il messaggio inviato al driver in modalità utente tramite una chiamata alla funzione DxgkCbMiracastSendMessage.
DXGKCB_MIRACAST_REPORT_CHUNK_INFO Chiamato dal driver miniport di visualizzazione per segnalare informazioni su un blocco di codifica.

Il driver miniport di visualizzazione deve inserire puntatori a queste funzioni nella struttura DXGK_MIRACAST_DISPLAY_CALLBACKS.

Interfaccia di visualizzazione wireless (Miracast)

La tabella seguente elenca le funzioni in modalità kernel che visualizzano i driver miniport implementati per supportare la visualizzazione wireless (Miracast) in Windows 8.1. I puntatori alle funzioni di interfaccia Miracast vengono restituiti in una struttura DXGK_MIRACAST_INTERFACE.

Funzione Descrizione
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Chiamato in modalità kernel quando il messaggio inviato al driver in modalità utente con una chiamata alla funzione DxgkCbMiracastSendMessage è completato o annullato.
DXGKDDI_MIRACAST_CREATE_CONTEXT Crea un contesto in modalità kernel per un dispositivo Miracast.
DXGKDDI_MIRACAST_DESTROY_CONTEXT Elimina definitivamente un'istanza di un dispositivo Miracast.
DXGKDDI_MIRACAST_HANDLE_IO_CONTROL Chiamato dal sistema operativo per richiedere che il driver miniport di visualizzazione elabori una richiesta di controllo I/O sincrona in risposta a una chiamata del driver di visualizzazione in modalità utente alla funzione MiracastIoControl.
DXGKDDI_MIRACAST_QUERY_CAPS Esegue una query sulle funzionalità Miracast della scheda di visualizzazione corrente. Il sistema operativo chiama questa funzione solo quando la scheda di visualizzazione viene avviata per la prima volta e quindi archivia le funzionalità restituite.

Queste strutture in modalità kernel e le enumerazioni supportano le visualizzazioni Miracast e sono state nuove o aggiornate per Windows 8.1: