// dispmprt.h
DXGKDDI_DISPLAYMUX_POST_SWITCH_TO_PHASE1 DxgkddiDisplaymuxPostSwitchToPhase1;
NTSTATUS DxgkddiDisplaymuxPostSwitchToPhase1(
PVOID DriverContext,
ULONG VidPnTargetId,
ULONG SwitchPrivateDataSize,
PVOID pSwitchPrivateDataBuffer,
GUID *pSwitchPrivateDataGUID
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
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.
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.
DxgkddiDisplayMuxPostSwitchToPhase1 returns STATUS_SUCCESS if it succeeds. Otherwise, it returns an appropriate error code.
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.
DxgkddiDisplayMuxPostSwitchAway
DxgkddiDisplayMuxPostSwitchToPhase2
DxgkddiDisplayMuxPreSwitchAwayGetPrivateData