Miracast ワイヤレス ディスプレイのサポート
Miracast ワイヤレス ディスプレイ標準のサポートは、Windows 8.1 (WDDM 1.3) で導入されました。
Windows 10 以降の Miracast のサポート
Windows 10 (WDDM 2.0) 以降、オペレーティング システムには、任意の GPU で動作できる組み込みの Miracast スタックが付属しています。 Microsoft Miracast スタックと、Windows 10 以降の Miracast ディスプレイをサポートするためのドライバーとハードウェアの要件については、次のドキュメントを参照してください。
Device.Graphics.WDDM13.DisplayRender.WirelessDisplay の関連する WHLK ドキュメント
ドライバー開発者は、カスタム Miracast スタックを実装する必要がなくなりました。 Microsoft は、将来のバージョンの Windows でカスタム Miracast スタックのサポートを削除する可能性があります。
Windows 8.1 での Miracast のサポート
WDDM 1.3 ドライバーは、必要に応じて、Windows 8.1 で提供される Miracast DDI を介して Miracast をサポートできます。 この記事の残りの部分とその関連記事では、このサポートを提供する方法について説明します。
ユーザー モード デバイス ドライバー インターフェイス (DDI)
Miracast ユーザー モード ドライバーによって呼び出されるワイヤレス ディスプレイ コールバック関数
次の表に、オペレーティング システムが実装するワイヤレス ディスプレイ (Miracast) のユーザー モード関数を示します。 これらの関数を呼び出すことができるのは、Windows 8.1 Miracast ユーザー モード ドライバーだけです。 Miracast ディスプレイ コールバック関数へのポインターは MIRACAST_CALLBACKS 構造体で返されます。
関数 | 説明 |
---|---|
PFN_GET_NEXT_CHUNK_DATA | DXGK_INTERRUPT_TYPE 割り込み型が DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE の場合に、DirectX グラフィックス カーネル サブシステムに報告された次の Miracast エンコード チャンクに関する情報を提供します。 |
PFN_MIRACAST_IO_CONTROL | カーネル モード ディスプレイ ミニポート ドライバーに同期 I/O 制御要求を送信するユーザー モードディスプレイ ドライバーによって呼び出されます。 |
PFN_REGISTER_DATARATE_NOTIFICATIONS | Miracast 接続のネットワーク サービス品質 (QoS) 通知と現在のネットワーク帯域幅を受信するためにオペレーティング システムに登録するユーザー モード ドライバーによって呼び出されます。 |
PFN_REPORT_SESSION_STATUS | 現在の Miracast 接続セッションの状態を報告するために、ユーザー モード ディスプレイ ドライバーによって呼び出されます。 |
PFN_REPORT_STATISTIC | Miracast リンクの統計情報をオペレーティング システムに報告するために、ユーザー モード ディスプレイ ドライバーによって呼び出されます。 |
Windows 8.1 Miracast ユーザー モード ドライバーによって実装されるワイヤレス ディスプレイ関数
次の表に、Windows 8.1 Miracast ユーザー モード ドライバーが実装する必要があるワイヤレス ディスプレイ (Miracast) 関数の一覧を示します。 この種類のドライバーは、スタンドアロン DLL で実行されます。
オペレーティング システムの QueryMiracastDriverInterface 関数呼び出しに応答して、Miracast ユーザー モード ドライバーは MIRACAST_DRIVER_INTERFACE 構造体でこれらの関数へのポインターを渡す必要があります。 例外は pfnDataRateNotify で、ポインターは RegisterForDataRateNotifications で宣言されます。
関数 | 説明 |
---|---|
PFN_CREATE_MIRACAST_CONTEXT | ユーザー モードの Miracast コンテキストを作成するためにオペレーティング システムによって呼び出されます。 |
PFN_DESTROY_MIRACAST_CONTEXT | ユーザー モードの Miracast コンテキストを破棄するためにオペレーティング システムによって呼び出されます。 |
PFN_HANDLE_KMD_MESSAGE | ディスプレイ ミニポート ドライバーが DxgkCbMiracastSendMessage 関数を呼び出すときに、Miracast ユーザー モード ドライバーが受信する非同期カーネル モード メッセージを処理するために、オペレーティング システムによって呼び出されます。 |
PFN_DATARATE_NOTIFICATION | Miracast ネットワーク リンクのビット レートが変更されたことを Miracast ユーザー モード ドライバーに通知するために、オペレーティング システムによって呼び出されます。 この関数は、RegisterForDataRateNotifications 関数が呼び出されたときにオペレーティング システムに登録されます。 |
QUERY_MIRACAST_DRIVER_INTERFACE | Miracast ユーザー モード ドライバー インターフェイス、MIRACAST_DRIVER_INTERFACE にクエリを実行するために、オペレーティング システムによって呼び出されます。 |
PFN_START_MIRACAST_SESSION | Miracast 接続セッションを開始するためにオペレーティング システムによって呼び出されます。 |
PFN_STOP_MIRACAST_SESSION | StartMiracastSession 関数への呼び出しによって以前に開始された Miracast 接続セッションを開始するために、オペレーティング システムによって呼び出されます。 |
関連する構造体と列挙型
次の表に、Windows 8.1 Miracast ディスプレイ デバイス ドライバー インターフェイス (DDI) で使用されるユーザー モードの構造体と列挙型を示します。
構造体/列挙型 | 説明 |
---|---|
MIRACAST_CALLBACKS | Miracast ユーザー モード ドライバーが呼び出すことができるワイヤレス ディスプレイ (Miracast) ランタイム コールバック関数へのポインターが含まれています。 |
MIRACAST_CHUNK_DATA | ユーザー モード ドライバーがワイヤレス ディスプレイ (Miracast) GetNextChunkData 関数を呼び出すときに使用するエンコード チャンク データが含まれています。 |
MIRACAST_CHUNK_ID | ワイヤレス ディスプレイ (Miracast) エンコード チャンクを識別する情報を格納します。 |
MIRACAST_CHUNK_INFO | 指定されたワイヤレス ディスプレイ (Miracast) エンコード チャンクに関する情報が含まれています。 |
MIRACAST_CHUNK_TYPE | 処理するワイヤレス ディスプレイ (Miracast) チャンク情報の種類を指定します。 |
MIRACAST_DATARATE_STATS | ワイヤレス ディスプレイ (Miracast) pfnDataRateNotify 関数で使用される、オーディオ/ビデオ エンコーダーのビット レートと、失敗または再試行された Wi-Fi フレームに関する情報が含まれています。 |
MIRACAST_DRIVER_INTERFACE | Miracast ユーザー モード ドライバーが実装するワイヤレス ディスプレイ (Miracast) 関数へのポインターが含まれています。 |
MIRACAST_PROTOCOL_EVENT | ユーザー モード ディスプレイ ドライバーが報告するワイヤレス ディスプレイ (Miracast) プロトコル イベントの種類を指定します。 |
MIRACAST_SESSION_INFO | ワイヤレス ディスプレイ (Miracast) 接続セッションに関する情報が含まれています。 |
MIRACAST_STATISTIC_DATA | ユーザー モード ディスプレイ ドライバーがオペレーティング システムに報告する Miracast 統計データが含まれています。 |
MIRACAST_STATISTIC_TYPE | ユーザー モード ディスプレイ ドライバーが生成する Miracast 統計データの種類を指定します。 |
MIRACAST_STATUS | Miracast 接続の状態を報告するためにユーザー モード ディスプレイ ドライバーが使用する状態の種類を指定します。 |
MIRACAST_WFD_CONNECTION_STATS | Wi-Fi Direct 接続のビット レート情報が含まれています。 |
次のユーザー モードの構造体と列挙型は Miracast ディスプレイをサポートしており、Windows 8.1 で新規導入または更新されたものです。
- DISPLAYCONFIG_TARGET_BASE_TYPE (新規)
- DISPLAYCONFIG_VIDEO_SIGNAL_INFO (AdditionalSignalInfo 子構造体が追加されました)
- DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE 定数が追加されました)
- D3DKMDT_VIDEO_SIGNAL_INFO (AdditionalSignalInfo 子構造体が追加されました)
- DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE 定数が追加されました)
カーネル モードの DDI
ワイヤレス ディスプレイ (Miracast) コールバック インターフェイス
Miracast ディスプレイ コールバック インターフェイスには、Windows 8.1 でワイヤレス (Miracast) ディスプレイをサポートするために DirectX グラフィックス カーネル サブシステムが実装する関数が含まれています。
次の表に、WDDM 1.3 ディスプレイ ミニポート ドライバーによって呼び出されるこれらのカーネル モード関数の一覧を示します。
関数 | 説明 |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE | ユーザー モード ディスプレイ ドライバーに非同期メッセージを送信します。 |
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | DxgkCbMiracastSendMessage 関数の呼び出しでユーザー モード ドライバーに送信されたメッセージが完了または取り消されたときにカーネル モードで呼び出されます。 |
DXGKCB_MIRACAST_REPORT_CHUNK_INFO | エンコード チャンクに関する情報を報告するために、ディスプレイ ミニポート ドライバーによって呼び出されます。 |
ディスプレイ ミニポート ドライバーは、DXGK_MIRACAST_DISPLAY_CALLBACKS 構造体にこれらの関数へのポインターを入力する必要があります。
ワイヤレス ディスプレイ (Miracast) インターフェイス
次の表に、Windows 8.1 でワイヤレス (Miracast) ディスプレイをサポートするために実装するミニポート ドライバーを表示するカーネル モード関数の一覧を示します。 Miracast インターフェイス関数へのポインターは、DXGK_MIRACAST_INTERFACE 構造体で返されます。
関数 | 説明 |
---|---|
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK | DxgkCbMiracastSendMessage 関数の呼び出しでユーザー モード ドライバーに送信されたメッセージが完了または取り消されたときにカーネル モードで呼び出されます。 |
DXGKDDI_MIRACAST_CREATE_CONTEXT | Miracast デバイスのカーネル モード コンテキストを作成します。 |
DXGKDDI_MIRACAST_DESTROY_CONTEXT | Miracast デバイスのインスタンスを破棄します。 |
DXGKDDI_MIRACAST_HANDLE_IO_CONTROL | MiracastIoControl 関数に対するユーザー モード ディスプレイ ドライバーの呼び出しに応答して、ディスプレイ ミニポート ドライバーによる同期 I/O 制御要求の処理を要求するために、オペレーティング システムによって呼び出されます。 |
DXGKDDI_MIRACAST_QUERY_CAPS | 現在のディスプレイ アダプターの Miracast 機能を照会します。 オペレーティング システムは、ディスプレイ アダプターの初回起動時にのみこの関数を呼び出し、返された機能を保管します。 |
これらのカーネル モードの構造体と列挙型は Miracast ディスプレイをサポートしており、Windows 8.1 で新規導入または更新されたものです。
- DXGK_MIRACAST_CAPS
- D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY (D3DKMDT_VOT_MIRACAST 定数が追加されました)
- D3DKMDT_VIDEO_SIGNAL_INFO (AdditionalSignalInfo 子構造体が追加されました)
- DXGK_CHILD_STATUS (Miracast 子構造体が追加されました)
- DXGK_CHILD_STATUS_TYPE (StatusMiracast 定数が追加されました)
- DXGKARGCB_NOTIFY_INTERRUPT_DATA (MiracastEncodeChunkCompleted 子構造体が追加されました)