Partager via


Prise en charge de l’affichage sans fil Miracast

La prise en charge de la norme d’affichage sans fil Miracast a été introduite dans Windows 8.1 (WDDM 1.3).

Prise en charge de Miracast à partir de Windows 10

À compter de Windows 10 (WDDM 2.0), le système d’exploitation est fourni avec une pile Miracast intégrée qui peut fonctionner sur n’importe quel GPU. Pour plus d’informations sur la pile Microsoft Miracast et la configuration requise des pilotes et du matériel pour prendre en charge les affichages Miracast à partir de Windows 10, consultez la documentation suivante :

Les développeurs de pilotes ne doivent plus implémenter une pile Miracast personnalisée. Microsoft peut supprimer la prise en charge des piles Miracast personnalisées dans une version ultérieure de Windows.

Prise en charge de Miracast dans Windows 8.1

Les pilotes WDDM 1.3 peuvent éventuellement prendre en charge Miracast via les DDIs Miracast fournis dans Windows 8.1. Le reste de cet article et ses articles connexes décrivent comment fournir ce support.

Interfaces de pilote de périphérique en mode utilisateur (DDIS)

Fonctions de rappel d’affichage sans fil appelées par les pilotes en mode utilisateur Miracast

Le tableau suivant répertorie les fonctions d’affichage sans fil (Miracast) en mode utilisateur que le système d’exploitation implémente. Seuls les pilotes en mode utilisateur Miracast Windows 8.1 peuvent appeler ces fonctions. Les pointeurs vers les fonctions de rappel d’affichage Miracast sont retournés dans une structure MIRACAST_CALLBACKS .

Fonction Description
PFN_GET_NEXT_CHUNK_DATA Fournit des informations sur le bloc d’encodage Miracast suivant qui a été signalé au sous-système du noyau graphique DirectX lorsque le type d’interruption DXGK_INTERRUPT_TYPE est DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE.
PFN_MIRACAST_IO_CONTROL Appelé par le pilote d’affichage en mode utilisateur pour envoyer au pilote miniport d’affichage en mode noyau une demande de contrôle d’E/S synchrone.
PFN_REGISTER_DATARATE_NOTIFICATIONS Appelé par le pilote en mode utilisateur pour s’inscrire auprès du système d’exploitation pour recevoir des notifications de qualité de service (QoS) réseau et la bande passante réseau actuelle de la connexion Miracast.
PFN_REPORT_SESSION_STATUS Appelé par le pilote d’affichage en mode utilisateur pour signaler l’état de la session connectée Miracast actuelle.
PFN_REPORT_STATISTIC Appelé par le pilote d’affichage en mode utilisateur pour signaler les statistiques du lien Miracast vers le système d’exploitation.

Fonctions d’affichage sans fil implémentées par les pilotes en mode utilisateur Miracast Windows 8.1

Le tableau suivant répertorie les fonctions d’affichage sans fil (Miracast) qu’un pilote en mode utilisateur Miracast Windows 8.1 doit implémenter. Ce type de pilote s’exécute dans une DLL autonome.

En réponse à un appel de système d’exploitation à la fonction QueryMiracastDriverInterface , le pilote en mode utilisateur Miracast doit fournir des pointeurs à ces fonctions dans la structure MIRACAST_DRIVER_INTERFACE . L’exception est pfnDataRateNotify, qui a un pointeur déclaré dans RegisterForDataRateNotifications.

Fonction Description
PFN_CREATE_MIRACAST_CONTEXT Appelé par le système d’exploitation pour créer un contexte Miracast en mode utilisateur.
PFN_DESTROY_MIRACAST_CONTEXT Appelé par le système d’exploitation pour détruire un contexte Miracast en mode utilisateur.
PFN_HANDLE_KMD_MESSAGE Appelé par le système d’exploitation pour gérer le message asynchrone en mode noyau que le pilote en mode utilisateur Miracast reçoit lorsque le pilote miniport d’affichage appelle la fonction DxgkCbMiracastSendMessage .
PFN_DATARATE_NOTIFICATION Appelé par le système d’exploitation pour avertir le pilote en mode utilisateur Miracast que le taux de bits de la liaison réseau Miracast a changé. Cette fonction est inscrite auprès du système d’exploitation lorsque la fonction RegisterForDataRateNotifications est appelée.
QUERY_MIRACAST_DRIVER_INTERFACE Appelé par le système d’exploitation pour interroger l’interface du pilote en mode utilisateur Miracast, MIRACAST_DRIVER_INTERFACE.
PFN_START_MIRACAST_SESSION Appelé par le système d’exploitation pour démarrer une session connectée Miracast.
PFN_STOP_MIRACAST_SESSION Appelé par le système d’exploitation pour démarrer une session connectée Miracast qui a été démarrée précédemment par un appel à la fonction StartMiracastSession .

Le tableau suivant répertorie les structures et énumérations en mode utilisateur utilisées avec les interfaces de pilote de périphérique d’affichage Miracast Windows 8.1 (DDIs).

Struct/Enum Description
MIRACAST_CALLBACKS Contient des pointeurs vers des fonctions de rappel du runtime d’affichage sans fil (Miracast) que le pilote en mode utilisateur Miracast peut appeler.
MIRACAST_CHUNK_DATA Contient des données de bloc encodées à utiliser lorsqu’un pilote en mode utilisateur appelle la fonction GetNextChunkData de l’affichage sans fil (Miracast).
MIRACAST_CHUNK_ID Stocke les informations qui identifient un bloc d’affichage sans fil (Miracast).
MIRACAST_CHUNK_INFO Contient des informations sur un bloc d’affichage sans fil (Miracast) spécifié.
MIRACAST_CHUNK_TYPE Spécifie les types d’informations de bloc d’affichage sans fil (Miracast) à traiter.
MIRACAST_DATARATE_STATS Contient des informations utilisées dans la fonction pfnDataRateNotify de l’affichage sans fil (Miracast) sur la fréquence de bits de l’encodeur audio/vidéo et les images Wi-Fi ayant échoué ou retenté.
MIRACAST_DRIVER_INTERFACE Contient des pointeurs vers des fonctions d’affichage sans fil (Miracast) que le pilote en mode utilisateur Miracast implémente.
MIRACAST_PROTOCOL_EVENT Spécifie les types d’événement de protocole d’affichage sans fil (Miracast) que le pilote d’affichage en mode utilisateur doit signaler.
MIRACAST_SESSION_INFO Contient des informations sur une session connectée d’affichage sans fil (Miracast).
MIRACAST_STATISTIC_DATA Contient des données de statistiques Miracast que le pilote affiche en mode utilisateur signale au système d’exploitation.
MIRACAST_STATISTIC_TYPE Spécifie les types de données de statistiques Miracast générées par le pilote d’affichage en mode utilisateur.
MIRACAST_STATUS Spécifie les types d’état que le pilote d’affichage en mode utilisateur utilise pour signaler l’état de la connexion Miracast.
MIRACAST_WFD_CONNECTION_STATS Contient des informations sur le débit binaire sur la connexion Wi-Fi Direct.

Les structures et énumérations en mode utilisateur suivantes prennent en charge les affichages Miracast et ont été nouvelles ou mises à jour pour Windows 8.1 :

  • DISPLAYCONFIG_TARGET_BASE_TYPE (nouveau)
  • DISPLAYCONFIG_VIDEO_SIGNAL_INFO (structure enfant AdditionalSignalInfo ajoutée)
  • DISPLAYCONFIG_DEVICE_INFO_TYPE (constante DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE ajoutée)
  • D3DKMDT_VIDEO_SIGNAL_INFO (structure enfant AdditionalSignalInfo ajoutée)
  • DISPLAYCONFIG_DEVICE_INFO_TYPE (constante DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE ajoutée)

DDIS en mode noyau

Interface de rappel d’affichage sans fil (Miracast)

L’interface de rappel d’affichage Miracast contient des fonctions que le sous-système du noyau graphique DirectX implémente pour prendre en charge les affichages sans fil (Miracast) dans Windows 8.1.

Le tableau suivant répertorie ces fonctions en mode noyau, appelées par les pilotes miniport wdDM 1.3 :

Fonction Description
DXGKCB_MIRACAST_SEND_MESSAGE Envoie un message asynchrone au pilote d’affichage en mode utilisateur.
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Appelé en mode noyau lorsque le message envoyé au pilote en mode utilisateur avec un appel à la fonction DxgkCbMiracastSendMessage est terminé ou annulé.
DXGKCB_MIRACAST_REPORT_CHUNK_INFO Appelé par le pilote miniport d’affichage pour signaler des informations sur un segment encodé.

Le pilote miniport d’affichage doit renseigner des pointeurs vers ces fonctions dans la structure DXGK_MIRACAST_DISPLAY_CALLBACKS .

Interface d’affichage sans fil (Miracast)

Le tableau suivant répertorie les fonctions en mode noyau qui affichent les pilotes miniports implémentent pour prendre en charge les affichages sans fil (Miracast) dans Windows 8.1. Les pointeurs vers les fonctions d’interface Miracast sont retournés dans une structure DXGK_MIRACAST_INTERFACE .

Fonction Description
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Appelé en mode noyau lorsque le message envoyé au pilote en mode utilisateur avec un appel à la fonction DxgkCbMiracastSendMessage est terminé ou annulé.
DXGKDDI_MIRACAST_CREATE_CONTEXT Crée un contexte en mode noyau pour un appareil Miracast.
DXGKDDI_MIRACAST_DESTROY_CONTEXT Détruit une instance d’un appareil Miracast.
DXGKDDI_MIRACAST_HANDLE_IO_CONTROL Appelé par le système d’exploitation pour demander que le pilote miniport d’affichage traite une demande de contrôle d’E/S synchrone en réponse à un appel de pilote d’affichage en mode utilisateur à la fonction MiracastIoControl.
DXGKDDI_MIRACAST_QUERY_CAPS Interroge les fonctionnalités Miracast de l’adaptateur d’affichage actuel. Le système d’exploitation appelle cette fonction uniquement lorsque l’adaptateur d’affichage est démarré pour la première fois, puis stocke les fonctionnalités retournées.

Ces structures et énumérations en mode noyau prennent en charge les affichages Miracast et ont été nouvelles ou mises à jour pour Windows 8.1 :

  • DXGK_MIRACAST_CAPS
  • D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY (constante D3DKMDT_VOT_MIRACAST ajoutée)
  • D3DKMDT_VIDEO_SIGNAL_INFO (structure enfant AdditionalSignalInfo ajoutée)
  • DXGK_CHILD_STATUS (structure enfant Miracast ajoutée)
  • DXGK_CHILD_STATUS_TYPE (constante StatusMiracast ajoutée)
  • DXGKARGCB_NOTIFY_INTERRUPT_DATA (MiracastEncodeChunkCompleted child structure added)