DXGKDDI_DISPLAYMUX_POST_SWITCH_TO_PHASE1 callback function (dispmprt.h)

Dxgkrnl calls the kernel-mode display driver's (KMD) DxgkddiDisplayMuxPostSwitchToPhase1 function to notify the driver that the mux switch has completed, and that the driver is now connected to the display and should perform phase 1 tasks.

Syntax

DXGKDDI_DISPLAYMUX_POST_SWITCH_TO_PHASE1 DxgkddiDisplaymuxPostSwitchToPhase1;

NTSTATUS DxgkddiDisplaymuxPostSwitchToPhase1(
  PVOID DriverContext,
  ULONG VidPnTargetId,
  ULONG SwitchPrivateDataSize,
  PVOID pSwitchPrivateDataBuffer,
  GUID *pSwitchPrivateDataGUID
)
{...}

Parameters

DriverContext

[in] Handle to a context block that is associated with a display adapter. KMD's DxgkDdiAddDevice function previously provided this handle to Dxgkrnl.

VidPnTargetId

[in] The VidPN target that the DDI is being called for.

SwitchPrivateDataSize

[in] The size, in bytes, of the buffer that is pointed to by pSwitchPrivateDataBuffer.

pSwitchPrivateDataBuffer

[in] A pointer to a buffer that contains the private data that was obtained from the GPU that the mux was switched away from

pSwitchPrivateDataGUID

[in] Pointer to the GUID that describes the version/layout of the private data.

Return value

DxgkddiDisplayMuxPostSwitchToPhase1 returns STATUS_SUCCESS if it succeeds. Otherwise, it returns an appropriate error code.

Remarks

This DDI is called under synchronization level 2.

KMD needs to both verify that it understands the passed GUID and validate the integrity of the data in the buffer.

If KMD doesn't understand the packet, it should ignore it. In this situation, KMD shouldn't fail the call.

For more information, see Automatic Display Switch.

Requirements

Requirement Value
Minimum supported client Windows 11, version 24H2, update 2025.01
Header dispmprt.h
IRQL PASSIVE_LEVEL

See also

DxgkddiDisplayMuxPostSwitchAway

DxgkddiDisplayMuxPostSwitchToPhase2

DxgkddiDisplayMuxPreSwitchAwayGetPrivateData