欢迎光临
我们一直在努力

windows显示驱动开发-Windows 8.1 支持 Miracast

一、Windows 10 及之后的 Miracast 支持

从 Windows 10(WDDM 2.0)开始,操作系统内置了通用的 Miracast 堆栈,可在任何 GPU 上运行。

– 相关文档:使用 Windows 10 构建一流的无线投影解决方案  
– WHLK 测试文档:Device.Graphics.WDDM13.DisplayRender.WirelessDisplay  

**重要提示**:驱动程序开发人员不应再实现自定义 Miracast 堆栈。微软可能会在未来的 Windows 版本中删除对自定义 Miracast 堆栈的支持。

二、Windows 8.1 中的 Miracast 支持(WDDM 1.3)

WDDM 1.3 驱动可以通过 Miracast DIS 选择性支持 Miracast。以下接口仅适用于 Windows 8.1 的自定义实现。

1. 用户模式 DDI(由操作系统提供的回调函数)

这些函数由操作系统实现,供 Miracast 用户模式驱动程序调用(通过 `MIRACAST_CALLBACKS` 结构返回):

– `PFN_GET_NEXT_CHUNK_DATA` – 获取下一个编码区块信息  
– `PFN_MIRACAST_IO_CONTROL` – 发送同步 I/O 控制请求  
– `PFN_REGISTER_DATARATE_NOTIFICATIONS` – 注册网络 QoS 与带宽通知  
– `PFN_REPORT_SESSION_STATUS` – 报告 Miracast 会话状态  
– `PFN_REPORT_STATISTIC` – 报告 Miracast 链路统计信息  

2. 用户模式 DDI(驱动程序必须实现的函数)

驱动程序必须在 `MIRACAST_DRIVER_INTERFACE` 中提供这些函数:

– `PFN_CREATE_MIRACAST_CONTEXT` – 创建 Miracast 上下文  
– `PFN_DESTROY_MIRACAST_CONTEXT` – 销毁 Miracast 上下文  
– `PFN_HANDLE_KMD_MESSAGE` – 处理来自内核模式驱动程序的消息  
– `PFN_DATARATE_NOTIFICATION` – 通知比特率变化  
– `QUERY_MIRACAST_DRIVER_INTERFACE` – 查询驱动接口  
– `PFN_START_MIRACAST_SESSION` – 启动 Miracast 会话  
– `PFN_STOP_MIRACAST_SESSION` – 停止 Miracast 会话  

3. 相关用户模式结构与枚举

– 回调与数据:`MIRACAST_CALLBACKS`, `MIRACAST_CHUNK_DATA`, `MIRACAST_CHUNK_ID`, `MIRACAST_CHUNK_INFO`, `MIRACAST_CHUNK_TYPE`  
– 统计与状态:`MIRACAST_DATARATE_STATS`, `MIRACAST_STATISTIC_DATA`, `MIRACAST_STATISTIC_TYPE`, `MIRACAST_STATUS`  
– 会话与协议:`MIRACAST_SESSION_INFO`, `MIRACAST_PROTOCOL_EVENT`, `MIRACAST_WFD_CONNECTION_STATS`  
– 显示配置新增/更新:  
  – `DISPLAYCONFIG_TARGET_BASE_TYPE`(新)  
  – `DISPLAYCONFIG_VIDEO_SIGNAL_INFO`(新增 AdditionalSignalInfo)  
  – `DISPLAYCONFIG_DEVICE_INFO_TYPE`(新增常量)  
  – `D3DKMDT_VIDEO_SIGNAL_INFO`(新增 AdditionalSignalInfo)  

4. 内核模式 DDI(操作系统回调,供显示微型端口驱动调用)

通过 `DXGK_MIRACAST_DISPLAY_CALLBACKS` 结构提供:

  • – `DXGKCB_MIRACAST_SEND_MESSAGE` – 发送异步消息到用户模式驱动  
  • – `DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACK` – 消息完成/取消时调用  
  • – `DXGKCB_MIRACAST_REPORT_CHUNK_INFO` – 报告编码区块信息  
5. 内核模式 DDI(显示微型端口驱动必须实现的函数)

通过 `DXGK_MIRACAST_INTERFACE` 结构返回:

  • – `DXGKDDI_MIRACAST_CREATE_CONTEXT` – 创建内核模式 Miracast 上下文  
  • – `DXGKDDI_MIRACAST_DESTROY_CONTEXT` – 销毁上下文  
  • – `DXGKDDI_MIRACAST_HANDLE_IO_CONTROL` – 处理同步 I/O 控制请求  
  • – `DXGKDDI_MIRACAST_QUERY_CAPS` – 查询 Miracast 功能  
6. 内核模式结构与枚举(新增或更新)
  • – `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 子结构)  
赞(0)
未经允许不得转载:171主机测评 » windows显示驱动开发-Windows 8.1 支持 Miracast
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址