To reduce compatibility issues of existing apps being exposed to new Miracast targets, the QueryDisplayConfig and SetDisplayConfig function implementations have ways for apps to find Miracast targets:
- A value of DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST in the DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enumeration indicates that the VidPN target is a Miracast device.
- The Flags parameter value of QDC_ALL_PATHS in a call to QueryDisplayConfig won’t return any paths that connect to a Miracast target that does not have an active monitor attached.
- For each path that has a connected Miracast monitor, QueryDisplayConfig returns the connector type that’s reported by the Miracast sink. Internal Miracast sinks report a value of DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST in the DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enumeration. For example, if a Miracast sink reports that a TV is connected to the sink with a High-Definition Multimedia Interface (HDMI) cable, then QueryDisplayConfig would report the target type as DISPLAYCONFIG_OUTPUT_TECHNOLOGY_HDMI.
- The DISPLAYCONFIG_VIDEO_SIGNAL_INFO structure has a VSync frequency divider member, vSyncFreqDivider, that’s used similarly to D3DKMDT_VIDEO_SIGNAL_INFO.vSyncFreqDivider.
- The DisplayConfigGetDeviceInfo function provides the base connector type for any target. In the case of a Miracast target, this function always returns a value of DISPLAYCONFIG_OUTPUT_TECHNOLOGY_MIRACAST in the DISPLAYCONFIG_VIDEO_OUTPUT_TECHNOLOGY enumeration.