支援Miracast無線顯示器

Windows 8.1 (WDDM 1.3) 引進了 Miracast 無線顯示器標準的支援。

從 Windows 10 開始支援 Miracast

從 Windows 10 (WDDM 2.0) 開始,操作系統隨附可在任何 GPU 上運作的內建 Miracast 堆棧。 如需從 Windows 10 開始支援 Miracast 顯示器之Microsoft Miracast 堆疊及驅動程式和硬體需求的相關信息,請參閱下列檔:

驅動程式開發人員不應再實作自定義Miracast堆疊。 Microsoft可能會移除未來 Windows 版本中自定義 Miracast 堆疊的支援。

支援 Windows 8.1 中的 Miracast

WDDM 1.3 驅動程式可以選擇性地透過 Windows 8.1 中提供的 Miracast DIS 支援 Miracast。 本文的其餘部分及其相關文章說明如何提供該支援。

使用者模式裝置驅動程式介面 (DIS)

Miracast 使用者模式驅動程式所呼叫的無線顯示回呼函式

下表列出操作系統實作的無線顯示器 (Miracast) 使用者模式功能。 只有 Windows 8.1 Miracast 使用者模式驅動程式可以呼叫這些函式。 Miracast 顯示回呼函式的指標會在MIRACAST_CALLBACKS結構中傳回。

函式 描述
PFN_GET_NEXT_CHUNK_DATA 提供下一個Miracast編碼區塊的相關信息,該區塊會在DXGK_INTERRUPT_TYPE中斷類型DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE時回報給 DirectX 圖形核心子系統。
PFN_MIRACAST_IO_CONTROL 由使用者模式顯示驅動程式呼叫,以傳送內核模式顯示迷你埠驅動程式同步 I/O 控制件要求。
PFN_REGISTER_DATARATE_NOTIFICATIONS 由使用者模式驅動程式呼叫,以向操作系統註冊,以接收網路服務品質(QoS)通知,以及Miracast連線目前的網路頻寬。
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 由操作系統呼叫,以處理Miracast使用者模式驅動程式在顯示迷你埠驅動程式呼叫 DxgkCbMiracastSendMessage 函式時收到的異步內核模式訊息。
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 顯示設備驅動器介面 (DIS) 搭配使用的使用者模式結構和列舉。

結構/列舉 描述
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顯示,並已針對Windows8.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常數)

核心模式 DIS

無線顯示器 (Miracast) 回呼介面

Miracast 顯示回呼介面包含 DirectX 圖形核心子系統實作以支援 Windows 8.1 中無線 (Miracast) 顯示器的函式。

下表列出 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 由操作系統呼叫,要求顯示迷你埠驅動程序處理同步 I/O 控件要求,以回應對 MiracastIoControl 函式的使用者模式顯示驅動程式呼叫。
DXGKDDI_MIRACAST_QUERY_CAPS 查詢目前顯示器配接器的Miracast功能。 只有在第一次啟動顯示配接器,然後儲存傳回的功能時,操作系統才會呼叫此函式。

這些內核模式結構和列舉支援Miracast顯示,而且已針對Windows8.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 子結構已新增)