Driver Miracast Per Windows 10

Microsoft added support for Miracast since Windows 8.1 and you have this feature in Windows 10 as well. With Miracast, you can connect wireless connection with projectors, television or any display supporting Miracast technology. Miracast certification includes testing for audio/video (A/V) latency, quality, and synchronization offset. Testing ensures that devices operate across vendors, provide simplified discovery and setup, meet the minimum display resolution requirement, and implement content protection (when implemented). Miracast is a standard format which allows computers, tablets or smartphones to mirror its display over WiFi to compatible devices. Most new computers being shipped with Windows 10 or Windows 8.1.

-->

Note

This document describes how drivers can implement a custom Miracast stack in Windows 8.1. As of Windows 10, the OS ships with a built-in Miracast stack that can work on any GPU and it is no longer recommended that drivers implement a custom Miracast stack. This documentation is therefore deprecated and Microsoft may remove support for custom Miracast stacks in a future version of Windows.

Wireless (Miracast) displays can optionally be supported by Windows Display Driver Model (WDDM) 1.3 and later drivers. This capability is new starting with Windows 8.1.

For more information on the requirements of drivers and hardware to support Miracast displays, refer to the Building best-in-class Wireless Projection solutions with Windows 10 guide and the relevant WHCK documentation at Device.Graphics.WDDM13.DisplayRender.WirelessDisplay.

Miracast design guide

These design guide sections describe how display miniport drivers and Miracast user-mode drivers support Miracast displays:

Miracast reference

These reference sections describe how to implement this capability in your drivers:

User-mode device driver interfaces (DDIs)

Wireless display callback functions called by Miracast user-mode drivers

The reference pages in this section describe wireless display (Miracast) user-mode functions that the operating system implements. Only Miracast user-mode drivers can call these functions.

Pointers to the Miracast display callback functions are returned in a MIRACAST_CALLBACKS structure.

TopicDescription
PFN_GET_NEXT_CHUNK_DATAProvides info about the next Miracast encode chunk that was reported to the Microsoft DirectX graphics kernel subsystem when the DXGK_INTERRUPT_TYPE interrupt type is DXGK_INTERRUPT_MIRACAST_CHUNK_PROCESSING_COMPLETE.
PFN_MIRACAST_IO_CONTROLCalled by the user-mode display driver to send the kernel-mode display miniport driver a synchronous I/O control request.
PFN_REGISTER_DATARATE_NOTIFICATIONSCalled by the user-mode driver to register with the operating system to receive network quality of service (QoS) notifications and the current network bandwidth of the Miracast connection.
PFN_REPORT_SESSION_STATUSCalled by the user-mode display driver to report the status of the current Miracast connected session.
PFN_REPORT_STATISTICCalled by the user-mode display driver to report the statistics of the Miracast link to the operating system.
Dell miracast driver windows 10

Wireless display functions implemented by Miracast user-mode drivers

The reference pages in this section describe wireless display (Miracast) functions that a Miracast user-mode driver must implement. This type of driver runs in a standalone DLL.

In response to an operating system call to the QueryMiracastDriverInterface function, the Miracast user-mode driver must supply pointers to these functions in the MIRACAST_DRIVER_INTERFACE structure, except for pfnDataRateNotify, which is has a pointer declared in RegisterForDataRateNotifications.

TopicDescription
PFN_CREATE_MIRACAST_CONTEXTCalled by the operating system to create a user-mode Miracast context.
PFN_DESTROY_MIRACAST_CONTEXTCalled by the operating system to destroy a user-mode Miracast context.
PFN_HANDLE_KMD_MESSAGECalled by the operating system to handle the asynchronous kernel-mode message that the Miracast user-mode driver receives when the display miniport driver calls the DxgkCbMiracastSendMessage function.
PFN_DATARATE_NOTIFICATIONCalled by the operating system to notify the Miracast user-mode driver that the bit rate of the Miracast network link has changed. This function is registered with the operating system when the RegisterForDataRateNotifications function is called.
QUERY_MIRACAST_DRIVER_INTERFACECalled by the operating system to query the Miracast user-mode driver interface, MIRACAST_DRIVER_INTERFACE.
PFN_START_MIRACAST_SESSIONCalled by the operating system to start a Miracast connected session.
PFN_STOP_MIRACAST_SESSIONCalled by the operating system to start a Miracast connected session that had earlier been started by a call to the StartMiracastSession function.

Wireless display (Miracast) structures and enumerations

All user-mode structures and enumerations that are used with Miracast display device driver interfaces (DDIs).

Miracast Driver For Windows 10 Free Download

TopicDescription
MIRACAST_CALLBACKSContains pointers to wireless display (Miracast) runtime callback functions that the Miracast user-mode driver can call.
MIRACAST_CHUNK_DATAContains encode chunk data that is used when a user-mode driver calls the wireless display (Miracast) GetNextChunkData function.
MIRACAST_CHUNK_IDStores info that identifies a wireless display (Miracast) encode chunk.
MIRACAST_CHUNK_INFOContains info about a specified wireless display (Miracast) encode chunk.
MIRACAST_CHUNK_TYPESpecifies the types of wireless display (Miracast) chunk info that is to be processed.
MIRACAST_DATARATE_STATSContains info used in the wireless display (Miracast) pfnDataRateNotify function about the audio/video encoder bit rate and failed or retried Wi-Fi frames.
MIRACAST_DRIVER_INTERFACEContains pointers to wireless display (Miracast) functions that are implemented by the Miracast user-mode driver.
MIRACAST_PROTOCOL_EVENTSpecifies the types of wireless display (Miracast) protocol event that the user-mode display driver should report.
MIRACAST_SESSION_INFOContains info on a wireless display (Miracast) connected session.
MIRACAST_STATISTIC_DATAContains Miracast statistics data that the user-mode display driver reports to the operating system.
MIRACAST_STATISTIC_TYPESpecifies types of Miracast statistics data that the user-mode display driver generates.
MIRACAST_STATUSSpecifies status types that the user-mode display driver uses to report Miracast connection status.
MIRACAST_WFD_CONNECTION_STATSContains bit rate info on the Wi-Fi Direct connection.

These additional user-mode structures and enumerations support Miracast displays and are new or updated for Windows 8.1:

  • DISPLAYCONFIG_TARGET_BASE_TYPE (new)
  • DISPLAYCONFIG_VIDEO_SIGNAL_INFO (AdditionalSignalInfo child structure added)
  • DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE constant added)
  • D3DKMDT_VIDEO_SIGNAL_INFO (AdditionalSignalInfo child structure added)
  • DISPLAYCONFIG_DEVICE_INFO_TYPE (DISPLAYCONFIG_DEVICE_INFO_GET_TARGET_BASE_TYPE constant added)

Kernel-mode DDIs

Wireless display (Miracast) display callback interface

The Miracast display callback interface contains functions that are implemented by the Microsoft DirectX graphics kernel subsystem to support wireless (Miracast) displays. This interface is supported starting in Windows 8.1.

This section contains reference pages for these kernel-mode functions, which are called by Windows Display Driver Model (WDDM) 1.3 and later display miniport drivers:

Driver para miracast windows 10

Miracast Driver For Win 10

TopicDescription
DXGKCB_MIRACAST_SEND_MESSAGESends an asynchronous message to the user-mode display driver.
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACKCalled in kernel mode when the message that was sent to the user-mode driver with a call to the DxgkCbMiracastSendMessage function has completed or has been canceled.
DXGKCB_MIRACAST_REPORT_CHUNK_INFOCalled by the display miniport driver to report info about an encode chunk.

The display miniport driver must fill in pointers to these functions in the DXGK_MIRACAST_DISPLAY_CALLBACKS structure.

Wireless display (Miracast) interface

This section contains kernel-mode functions that are implemented by display miniport drivers that support wireless (Miracast) displays. This interface is supported starting in Windows 8.1.

Pointers to the Miracast interface functions are returned in a DXGK_MIRACAST_INTERFACE structure.

TopicDescription
DXGKCB_MIRACAST_SEND_MESSAGE_CALLBACKCalled in kernel mode when the message that was sent to the user-mode driver with a call to the DxgkCbMiracastSendMessage function has completed or has been canceled.
DXGKDDI_MIRACAST_CREATE_CONTEXTCreates a kernel-mode context for a Miracast device.
DXGKDDI_MIRACAST_DESTROY_CONTEXTDestroys an instance of a Miracast device.
DXGKDDI_MIRACAST_HANDLE_IO_CONTROLCalled by the operating system to request that the display miniport driver process a synchronous I/O control request in response to a user-mode display driver call to the MiracastIoControl function.
DXGKDDI_MIRACAST_QUERY_CAPSQueries the Miracast capabilities of the current display adapter. The operating system calls this function only when the display adapter is first started and then stores the capabilities that are returned.

These additional kernel-mode structures and enumerations support Miracast displays and are new or updated for Windows 8.1:

  • D3DKMDT_VIDEO_OUTPUT_TECHNOLOGY (D3DKMDT_VOT_MIRACAST constant added)
  • D3DKMDT_VIDEO_SIGNAL_INFO (AdditionalSignalInfo child structure added)
  • DXGK_CHILD_STATUS (Miracast child structure added)
  • DXGK_CHILD_STATUS_TYPE (StatusMiracast constant added)
  • DXGKARGCB_NOTIFY_INTERRUPT_DATA (MiracastEncodeChunkCompleted child structure added)