Submits a present command from the Desktop Duplication API swapchain of the Desktop Window Manager (DWM) to the Microsoft DirectX graphics kernel subsystem (Dxgkrnl.sys).
NTSTATUS D3DKMTOutputDuplPresent( const D3DKMT_OUTPUTDUPLPRESENT *Arg1 );
Returns one of the following values:
|STATUS_SUCCESS||The present operation was successfully performed.|
|STATUS_DEVICE_REMOVED||The graphics adapter was stopped or the display context was reset.|
|STATUS_INVALID_PARAMETER||Parameters were validated and determined to be incorrect.|
|STATUS_NO_MEMORY||D3DKMTOutputDuplPresent could not complete because of insufficient memory.|
|STATUS_GRAPHICS_ALLOCATION_INVALID||The primary surface handle was invalidated because of a display mode change. If the OpenGL installable client driver (ICD) receives this error code, it should reopen or re-create the primary handle, replace all references in the command buffer to the old handle with the new handle, and then resubmit the buffer.|
|STATUS_GRAPHICS_GPU_EXCEPTION_ON_DEVICE||An error occurred on the rendering device context that the hContext member of D3DKMT_OUTPUTDUPLPRESENT specifies.
Note: This error code does not indicate the initiation of a Timeout Detection and Recovery (TDR) process or that the GPU stopped responding.
For example, the DirectX graphics kernel subsystem puts a device into an error state if the display miniport driver indicated that a DMA buffer that was submitted from this device caused a fault or if the video memory manager could not page-in all of the allocations that are required for a DMA buffer even after splitting the DMA buffer. After a device is in an error state, it cannot perform any more operations and must be destroyed and re-created. The ICD can call the D3DKMTGetDeviceState function to determine a more precise reason for the error.
|Minimum supported client||Windows 8|
|Minimum supported server||Windows Server 2012|
|Header||d3dkmthk.h (include D3dkmthk.h)|