支援Miracast無線顯示器
Windows 8.1 (WDDM 1.3) 引進了 Miracast 無線顯示器標準的支援。
從 Windows 10 開始支援 Miracast
從 Windows 10 (WDDM 2.0) 開始,操作系統隨附可在任何 GPU 上運作的內建 Miracast 堆棧。 如需從 Windows 10 開始支援 Miracast 顯示器之Microsoft Miracast 堆疊及驅動程式和硬體需求的相關信息,請參閱下列檔:
Device.Graphics.WDDM13.DisplayRender.WirelessDisplay 的相關 WHLK 檔
驅動程式開發人員不應再實作自定義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 子結構已新增)