DXGKDDI_SETPOINTERSHAPE - NtDoc

Native API online documentation, based on the System Informer (formerly Process Hacker) phnt headers
// d3dkmddi.h

DXGKDDI_SETPOINTERSHAPE DxgkddiSetpointershape;

NTSTATUS DxgkddiSetpointershape(
  [in] IN_CONST_HANDLE hAdapter,
  [in] IN_CONST_PDXGKARG_SETPOINTERSHAPE pSetPointerShape
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

Windows Driver Kit DDI reference (nc-d3dkmddi-dxgkddi_setpointershape)

DXGKDDI_SETPOINTERSHAPE callback function

Description

The DxgkDdiSetPointerShape function sets the appearance and location of the mouse pointer.

Parameters

hAdapter [in]

A handle to a context block that is associated with a display adapter. The display miniport driver previously provided this handle to the Microsoft DirectX graphics kernel subsystem in the MiniportDeviceContext output parameter of the DxgkDdiAddDevice function.

pSetPointerShape [in]

A pointer to a DXGKARG_SETPOINTERSHAPE structure that describes the appearance and location of the mouse pointer.

Return value

DxgkDdiSetPointerShape returns one of the following values:

Return code Description
STATUS_SUCCESS The mouse pointer is successfully drawn.
STATUS_NO_MEMORY DxgkDdiSetPointerShape could not allocate memory that was required for it to complete.

Remarks

The DirectX graphics kernel subsystem calls the display miniport driver's DxgkDdiSetPointerShape function to set information about the mouse pointer. The DxgkDdiSetPointerShape function is called independently of all of the other display miniport driver functions. Therefore, a DxgkDdiSetPointerShape thread can run simultaneously with another display miniport driver thread. However, the system ensures that DxgkDdiSetPointerShape and DxgkDdiSetPointerPosition threads cannot run simultaneously.

If you run a DxgkDdiSetPointerShape thread simultaneously with another display miniport driver thread, the display miniport driver should be able to program the mouse pointer hardware independently of other activities, such as operations that send a command buffer through direct memory access (DMA) to the graphics hardware, operations that program the graphics hardware by using memory-mapped I/O (MMIO), and so on.

DxgkDdiSetPointerShape is not called if the video present network (VidPN) topology that is associated with the VidPnSourceId member of the DXGKARG_SETPOINTERSHAPE structure that the pSetPointerShape parameter points to is disabled.

DxgkDdiSetPointerShape should be made pageable.

See also

DXGKARG_SETPOINTERSHAPE

DxgkDdiAddDevice

DxgkDdiSetPointerPosition