DXGK_DISPLAYMUX_INTERFACE structure (dispmprt.h)
The DXGK_DISPLAYMUX_INTERFACE structure contains pointers to functions that are implemented by the kernel-mode display miniport driver (KMD) to support version 1 of the automatic display switching feature. Version 1 was for the feature's pre-release; use DXGK_DISPLAYMUX_INTERFACE_V2, which is the version released with Windows 11, version 24H2, update 2025.01 (WDDM 3.2).
Syntax
typedef struct _DXGK_DISPLAYMUX_INTERFACE {
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;
} DXGK_DISPLAYMUX_INTERFACE, *PDXGK_DISPLAYMUX_INTERFACE;
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.
Remarks
The OS queries for KMD's DXGK_DISPLAYMUX_INTERFACE at driver start. It does so by calling KMD's DxgkDdiQueryInterface function with QueryInterface->InterfaceType set to GUID_WDDM_INTERFACE_DISPLAYMUX. If the KMD supports this interface, it returns a DXGK_DISPLAYMUX_INTERFACE structure with pointers to its automatic display switch callbacks.
For more information, see Automatic Display Switch.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 11, version 24H2 (WDDM 3.2) |
Header | dispmprt.h |