DXGKDDI_PRESENTDISPLAYONLY callback function (d3dkmddi.h)
Presents the screen image to the display device of a kernel mode display-only driver (KMDOD).
Syntax
DXGKDDI_PRESENTDISPLAYONLY DxgkddiPresentdisplayonly;
NTSTATUS DxgkddiPresentdisplayonly(
IN_CONST_HANDLE hAdapter,
IN_CONST_PDXGKARG_PRESENT_DISPLAYONLY pPresentDisplayOnly
)
{...}
Parameters
hAdapter
A handle to the device context for the display adapter. The KMDOD's DxgkDdiAddDevice function previously returned this handle in the MiniportDeviceContext parameter.
pPresentDisplayOnly
A pointer to a DXGKARG_PRESENT_DISPLAYONLY structure that contains information about the present operation.
Return value
Returns one of the following values:
Return code | Description |
---|---|
STATUS_SUCCESS | The present operation completed successfully. |
STATUS_PENDING | The present operation has been sent to the software or hardware queue to complete. In this case, the KMDOD should use an interrupt and deferred procedure call (DPC) to report progress of the current present operation. Otherwise the operating system uses the Timeout Detection and Recovery (TDR) process, which reports an error and requires the KMDOD to reinitialize itself and to reset the GPU. Note that this status code should not be returned for synchronous mode, as described in Remarks. |
The driver can also return any other error status code defined in Ntstatus.h to indicate issues that have occurred with the present operation.
Remarks
The KMDOD must complete all screen-to-screen moves before copying dirty rectangles. In addition, the KMDOD must complete each move/copy operation before beginning another move/copy operation.
The operating system supports two modes of KMDOD present operations: synchronous and asynchronous. Depending on hardware and driver implementation, the KMDOD can use either mode or switch between them at any time.
The operating system guarantees that this function follows the zero level synchronization mode as defined in Threading and Synchronization Zero Level.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 8 |
Minimum supported server | Windows Server 2012 |
Target Platform | Desktop |
Header | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |
See also
DXGKARGCB_NOTIFY_INTERRUPT_DATA