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:
Erstellen erstklassiger Drahtloser Projektionslösungen mit Windows 10
Die entsprechende WHLK-Dokumentation unter Device.Graphics.WDDM13.DisplayRender.WirelessDisplay
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. |
Verwandte Strukturen und Enumerationen
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)
Verwandte Artikel für Windows 8.1 Miracast-Treiber
- WDDM 1.3 zeigt Miniporttreiberaufgaben an, um Miracast drahtlose Displays zu unterstützen
- WDDM 1.3 Miracast-Treiberaufgaben für den Benutzermodus zur Unterstützung von Drahtlosen Miracast-Displays
- Melden von Miracast-codierten Blöcken und Statistiken
- Aufrufen von DisplayConfig-Funktionen für ein Miracast-Ziel