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

See also

DXGK_DISPLAYMUX_INTERFACE_V2

DxgkDdiQueryInterface

QUERY_INTERFACE