Freigeben über


Unterstützen der drahtlosen Miracast-Anzeige

Unterstützung für den Drahtlosen Anzeigestandard Miracast wurde in Windows 8.1 (WDDM 1.3) eingeführt.

Unterstützen von Miracast ab Windows 10

Ab Windows 10 (WDDM 2.0) wird das Betriebssystem mit einem integrierten Miracast-Stapel ausgeliefert, der auf jeder GPU funktionieren kann. Informationen zum Microsoft Miracast-Stapel und den Anforderungen von Treibern und Hardware zur Unterstützung von Miracast-Displays ab Windows 10 finden Sie in der folgenden Dokumentation:

Treiberentwickler sollten keinen benutzerdefinierten Miracast-Stapel mehr implementieren. Microsoft entfernt möglicherweise die Unterstützung für benutzerdefinierte Miracast-Stapel in einer zukünftigen Version von Windows.

Unterstützen von Miracast in Windows 8.1

WDDM 1.3-Treiber können Miracast optional über die in Windows 8.1 bereitgestellten Miracast-DDIs unterstützen. In den restlichen Artikeln und den zugehörigen Artikeln wird beschrieben, wie Sie diese Unterstützung bereitstellen.

Benutzermodusgerätetreiberschnittstellen (User-Mode Device Driver Interfaces, DDIs)

Drahtlose Anzeigerückruffunktionen, die von Miracast-Benutzermodustreibern aufgerufen werden

In der folgenden Tabelle sind die Benutzermodusfunktionen (Wireless Display, Miracast) aufgeführt, die vom Betriebssystem implementiert werden. Nur Windows 8.1 Miracast-Benutzermodustreiber können diese Funktionen aufrufen. Zeiger auf die Miracast-Anzeigerückruffunktionen werden in einer MIRACAST_CALLBACKS Struktur zurückgegeben.

Funktion Beschreibung
PFN_GET_NEXT_CHUNK_DATA Enthält Informationen zum nächsten Miracast-codierten Block, der an das DirectX-Grafikkernsubsystem gemeldet wurde, wenn der DXGK_INTERRUPT_TYPE Interrupttyp DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE ist.
PFN_MIRACAST_IO_CONTROL Vom Anzeigetreiber für den Benutzermodus aufgerufen, um den Kernelmodus-Miniporttreiber an eine synchrone E/A-Steuerungsanforderung zu senden.
PFN_REGISTER_DATARATE_NOTIFICATIONS Wird vom Benutzermodustreiber aufgerufen, um sich beim Betriebssystem zu registrieren, um Benachrichtigungen über die Netzwerkqualität (QoS) und die aktuelle Netzwerkbandbreite der Miracast-Verbindung zu empfangen.
PFN_REPORT_SESSION_STATUS Wird vom Benutzermodusanzeigetreiber aufgerufen, um den Status der aktuellen verbundenen Miracast-Sitzung zu melden.
PFN_REPORT_STATISTIC Wird vom Anzeigetreiber des Benutzermodus aufgerufen, um die Statistiken des Miracast-Links an das Betriebssystem zu melden.

Drahtlose Anzeigefunktionen, die von Windows 8.1 Miracast-Benutzermodustreibern implementiert werden

In der folgenden Tabelle sind die Funktionen für die drahtlose Anzeige (Miracast) aufgeführt, die ein Windows 8.1 Miracast-Benutzermodustreiber implementieren muss. Dieser Treibertyp wird in einer eigenständigen DLL ausgeführt.

Als Reaktion auf einen Betriebssystemaufruf an die QueryMiracastDriverInterface-Funktion muss der Miracast-Benutzermodustreiber Zeiger auf diese Funktionen in der MIRACAST_DRIVER_INTERFACE-Struktur bereitstellen. Die Ausnahme ist pfnDataRateNotify, der einen Zeiger in RegisterForDataRateNotifications deklariert hat.

Funktion Beschreibung
PFN_CREATE_MIRACAST_CONTEXT Vom Betriebssystem aufgerufen, um einen Miracast-Kontext für den Benutzermodus zu erstellen.
PFN_DESTROY_MIRACAST_CONTEXT Vom Betriebssystem aufgerufen, um einen Miracast-Kontext im Benutzermodus zu zerstören.
PFN_HANDLE_KMD_MESSAGE Vom Betriebssystem aufgerufen, um die asynchrone Kernelmodusmeldung zu verarbeiten, die der Miracast-Benutzermodustreiber empfängt, wenn der Anzeigeminiporttreiber die DxgkCbMiracastSendMessage-Funktion aufruft.
PFN_DATARATE_NOTIFICATION Vom Betriebssystem aufgerufen, um den Miracast-Benutzermodustreiber zu benachrichtigen, dass sich die Bitrate der Miracast-Netzwerkverbindung geändert hat. Diese Funktion wird beim Aufrufen der Funktion RegisterForDataRateNotifications beim Betriebssystem registriert.
QUERY_MIRACAST_DRIVER_INTERFACE Vom Betriebssystem aufgerufen, um die Miracast-Benutzermodustreiberschnittstelle abzufragen, MIRACAST_DRIVER_INTERFACE.
PFN_START_MIRACAST_SESSION Vom Betriebssystem aufgerufen, um eine verbundene Miracast-Sitzung zu starten.
PFN_STOP_MIRACAST_SESSION Vom Betriebssystem aufgerufen, um eine verbundene Miracast-Sitzung zu starten, die zuvor durch einen Aufruf der StartMiracastSession-Funktion gestartet wurde.

In der folgenden Tabelle sind die Benutzermodusstrukturen und Enumerationen aufgeführt, die mit Windows 8.1 Miracast-Anzeigegerätetreiberschnittstellen (DDIs) verwendet werden.

Struktur/Enumeration Beschreibung
MIRACAST_CALLBACKS Enthält Zeiger auf Funkanzeige(Miracast)-Laufzeitrückruffunktionen, die der Miracast-Benutzermodustreiber aufrufen kann.
MIRACAST_CHUNK_DATA Enthält codierte Daten, die verwendet werden sollen, wenn ein Benutzermodustreiber die Drahtlose Anzeige (Miracast) GetNextChunkData-Funktion aufruft.
MIRACAST_CHUNK_ID Speichert Informationen, die einen datencodierten Datenblock (Wireless Display, Miracast) identifizieren.
MIRACAST_CHUNK_INFO Enthält Informationen zu einem angegebenen drahtlosen Anzeigeabschnitt (Miracast).
MIRACAST_CHUNK_TYPE Gibt die Typen von Datenblöcken für drahtlose Anzeige (Miracast) an, die verarbeitet werden sollen.
MIRACAST_DATARATE_STATS Enthält Informationen, die in der drahtlosen Anzeige (Miracast) pfnDataRateNotify-Funktion über die Bitrate des Audio-/Video-Encoders verwendet werden und fehlgeschlagene oder wiederholte WLAN-Frames.
MIRACAST_DRIVER_INTERFACE Enthält Zeiger auf drahtlose Anzeigefunktionen (Miracast), die der Miracast-Benutzermodustreiber implementiert.
MIRACAST_PROTOCOL_EVENT Gibt die Typen des Funkanzeigeprotokollereignisses (Miracast) an, die der Anzeigetreiber für den Benutzermodus melden soll.
MIRACAST_SESSION_INFO Enthält Informationen zu einer verbundenen Drahtlosen Anzeigesitzung (Miracast).
MIRACAST_STATISTIC_DATA Enthält Miracast-Statistikdaten, die vom Benutzermodus an das Betriebssystem gemeldet werden.
MIRACAST_STATISTIC_TYPE Gibt Typen von Miracast-Statistikdaten an, die der Anzeigetreiber für den Benutzermodus generiert.
MIRACAST_STATUS Gibt Statustypen an, die der Anzeigetreiber für den Benutzermodus verwendet, um den Miracast-Verbindungsstatus zu melden.
MIRACAST_WFD_CONNECTION_STATS Enthält Bitrateninformationen für die WLAN-Direkte Verbindung.

Die folgenden Benutzermodusstrukturen und Enumerationen unterstützen Miracast-Displays und wurden für Windows 8.1 neu oder aktualisiert:

  • DISPLAYCONFIG_TARGET_BASE_TYPE (neu)
  • DISPLAYCONFIG_VIDEO_SIGNAL_INFO (untergeordnete Struktur "AdditionalSignalInfo" hinzugefügt)
  • DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE Konstante hinzugefügt)
  • D3DKMDT_VIDEO_SIGNAL_INFO (untergeordnete Struktur "AdditionalSignalInfo" hinzugefügt)
  • DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE Konstante hinzugefügt)

Kernelmodus-DDIs

Drahtlose Anzeige (Miracast)-Rückrufschnittstelle

Die Miracast-Anzeigerückrufschnittstelle enthält Funktionen, die das DirectX-Grafik-Kernel-Subsystem implementiert, um drahtlose Displays (Miracast) in Windows 8.1 zu unterstützen.

In der folgenden Tabelle sind diese Kernelmodusfunktionen aufgeführt, die von WDDM 1.3-Anzeigeminiporttreibern aufgerufen werden:

Funktion Beschreibung
DXGKCB_MIRACAST_SEND_MESSAGE Sendet eine asynchrone Nachricht an den Anzeigetreiber für den Benutzermodus.
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Wird im Kernelmodus aufgerufen, wenn die Nachricht, die an den Benutzermodustreiber gesendet wurde, mit einem Aufruf der DxgkCbMiracastSendMessage-Funktion abgeschlossen oder abgebrochen wird.
DXGKCB_MIRACAST_REPORT_CHUNK_INFO Wird vom Anzeige-Miniporttreiber aufgerufen, um Informationen zu einem codierten Block zu melden.

Der Miniporttreiber muss Zeiger auf diese Funktionen in der DXGK_MIRACAST_DISPLAY_CALLBACKS Struktur ausfüllen.

Drahtlose Anzeigeschnittstelle (Miracast)

In der folgenden Tabelle sind die Kernelmodusfunktionen aufgeführt, die Miniporttreiber zur Unterstützung von Drahtlosen (Miracast)-Displays in Windows 8.1 anzeigen. Zeiger auf die Miracast-Schnittstellenfunktionen werden in einer DXGK_MIRACAST_INTERFACE Struktur zurückgegeben.

Funktion Beschreibung
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK Wird im Kernelmodus aufgerufen, wenn die Nachricht, die an den Benutzermodustreiber gesendet wurde, mit einem Aufruf der DxgkCbMiracastSendMessage-Funktion abgeschlossen oder abgebrochen wird.
DXGKDDI_MIRACAST_CREATE_CONTEXT Erstellt einen Kernelmoduskontext für ein Miracast-Gerät.
DXGKDDI_MIRACAST_DESTROY_CONTEXT Zerstört eine Instanz eines Miracast-Geräts.
DXGKDDI_MIRACAST_HANDLE_IO_CONTROL Vom Betriebssystem aufgerufen, um anzufordern, dass der Anzeige-Miniporttreiber eine synchrone E/A-Steuerelementanforderung als Reaktion auf einen Anzeigetreiberaufruf im Benutzermodus an die MiracastIoControl-Funktion verarbeitet.
DXGKDDI_MIRACAST_QUERY_CAPS Fragt die Miracast-Funktionen des aktuellen Anzeigeadapters ab. Das Betriebssystem ruft diese Funktion nur auf, wenn der Anzeigeadapter zum ersten Mal gestartet wird, und speichert dann die zurückgegebenen Funktionen.

Diese Kernelmodusstrukturen und Enumerationen unterstützen Miracast-Displays und wurden für Windows 8.1 neu oder aktualisiert:

  • DXGK_MIRACAST_CAPS
  • D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY (D3DKMDT_VOT_MIRACAST Konstante hinzugefügt)
  • D3DKMDT_VIDEO_SIGNAL_INFO (untergeordnete Struktur "AdditionalSignalInfo" hinzugefügt)
  • DXGK_CHILD_STATUS (untergeordnete Miracast-Struktur hinzugefügt)
  • DXGK_CHILD_STATUS_TYPE (StatusMiracast-Konstante hinzugefügt)
  • DXGKARGCB_NOTIFY_INTERRUPT_DATA (hinzugefügte untergeordnete MiracastEncodeChunkCompleted-Struktur)