DXGK_DISPLAYMUX_INTERFACE_2 structure (dispmprt.h)
The DXGK_DISPLAYMUX_INTERFACE_2 structure contains pointers to functions that are implemented by the kernel-mode display miniport driver (KMD) to support version 2 of the automatic display switching feature.
Syntax
typedef struct _DXGK_DISPLAYMUX_INTERFACE_2 {
USHORT Size;
USHORT Version;
PVOID Context;
PINTERFACE_REFERENCE InterfaceReference;
PINTERFACE_DEREFERENCE InterfaceDereference;
DXGKDDI_DISPLAYMUX_GET_DRIVER_SUPPORT_LEVEL DxgkDdiDisplayMuxGetDriverSupportLevel;
DXGKDDI_DISPLAYMUX_GET_RUNTIME_STATUS DxgkDdiDisplayMuxGetRuntimeStatus;
DXGKDDI_DISPLAYMUX_PRE_SWITCH_AWAY DxgkDdiDisplayMuxPreSwitchAway;
DXGKDDI_DISPLAYMUX_PRE_SWITCH_AWAY_GET_PRIVATE_DATA DxgkDdiDisplayMuxPreSwitchAwayGetPrivateData;
DXGKDDI_DISPLAYMUX_PRE_SWITCH_TO DxgkDdiDisplayMuxPreSwitchTo;
DXGKDDI_DISPLAYMUX_SWITCH_CANCELED DxgkDdiDisplayMuxSwitchCanceled;
DXGKDDI_DISPLAYMUX_POST_SWITCH_AWAY DxgkDdiDisplayMuxPostSwitchAway;
DXGKDDI_DISPLAYMUX_POST_SWITCH_TO_PHASE1 DxgkDdiDisplayMuxPostSwitchToPhase1;
DXGKDDI_DISPLAYMUX_POST_SWITCH_TO_PHASE2 DxgkDdiDisplayMuxPostSwitchToPhase2;
DXGKDDI_DISPLAYMUX_UPDATE_STATE DxgkDdiDisplayMuxUpdateState;
DXGKDDI_DISPLAYMUX_REPORT_PRESENCE DxgkDdiDisplayMuxReportPresence;
DXGKDDI_DISPLAYMUX_SET_INTERNAL_PANEL_INFO DxgkDdiDisplayMuxSetInternalPanelInfo;
} DXGK_DISPLAYMUX_INTERFACE_2, *PDXGK_DISPLAYMUX_INTERFACE_2;
Members
Size
[in] The size, in bytes, of this structure.
Version
[in] The version number of the display mux interface. Version should be set to DXGK_DISPLAYMUX_INTERFACE_VERSION_1 for this structure.
Context
[in] A pointer to a private context block.
InterfaceReference
[out] Pointer to a KMD-implemented interface reference function.
InterfaceDereference
[out] Pointer to a KMD-implemented interface dereference function.
DxgkDdiDisplayMuxGetDriverSupportLevel
[out] Pointer to KMD's DxgkDdiDisplayMuxGetDriverSupportLevel callback function.
DxgkDdiDisplayMuxGetRuntimeStatus
[out] Pointer to KMD's DxgkDdiDisplayMuxGetRuntimeStatus callback function.
DxgkDdiDisplayMuxPreSwitchAway
[out] Pointer to KMD's DxgkDdiDisplayMuxPreSwitchAway callback function.
DxgkDdiDisplayMuxPreSwitchAwayGetPrivateData
[out] Pointer to KMD's DxgkDdiDisplayMuxPreSwitchAwayGetPrivateData callback function.
DxgkDdiDisplayMuxPreSwitchTo
[out] Pointer to KMD's DxgkDdiDisplayMuxPreSwitchTo callback function.
DxgkDdiDisplayMuxSwitchCanceled
[out] Pointer to KMD's DxgkDdiDisplayMuxSwitchCanceled callback function.
DxgkDdiDisplayMuxPostSwitchAway
[out] Pointer to KMD's DxgkDdiDisplayMuxPostSwitchAway callback function.
DxgkDdiDisplayMuxPostSwitchToPhase1
[out] Pointer to KMD's DxgkDdiDisplayMuxPostSwitchToPhase1 callback function.
DxgkDdiDisplayMuxPostSwitchToPhase2
[out] Pointer to KMD's DxgkDdiDisplayMuxPostSwitchToPhase2 callback function.
DxgkDdiDisplayMuxUpdateState
[out] Pointer to KMD's DxgkDdiDisplayMuxUpdateState callback function.
DxgkDdiDisplayMuxReportPresence
[out] Pointer to KMD's DxgkDdiDisplayMuxReportPresence callback function.
DxgkDdiDisplayMuxSetInternalPanelInfo
[out] Pointer to KMD's DxgkDdiDisplayMuxSetInternalPanelInfo callback function.
Remarks
The OS queries for KMD's DXGK_DISPLAYMUX_INTERFACE_2 at driver start. It does so by calling KMD's DxgkDdiQueryInterface function with QueryInterface->InterfaceType set to GUID_WDDM_INTERFACE_DISPLAYMUX_2. If the KMD supports this interface, it returns a DXGK_DISPLAYMUX_INTERFACE_2 structure with pointers to its automatic display switch callbacks.
A driver that exposes the GUID_WDDM_INTERFACE_DISPLAYMUX_2 interface must set DXGK_CHILD_CAPABILITIES.Type.IntegratedDisplayChild.DescriptorLength to zero at adapter start if the mux isn't currently switched to the driver's GPU. Otherwise, the OS will fail the adapter start.
For more information, see Automatic Display Switch.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 11, version 24H2, update 2025.01 (WDDM 3.2) |
Header | dispmprt.h |