DXGKDDI_VALIDATESUBMITCOMMAND callback function (d3dkmddi.h)

The kernel-mode display miniport's (KMD's) DXGKDDI_VALIDATESUBMITCOMMAND function validates private driver data that the user-mode driver (UMD) passes in calls to D3DKMTSubmitCommand or D3DKMTSubmitCommandToHwQueue.

Syntax

DXGKDDI_VALIDATESUBMITCOMMAND DxgkddiValidatesubmitcommand;

NTSTATUS DxgkddiValidatesubmitcommand(
  IN_CONST_HANDLE hContext,
  INOUT_PDXGKARG_VALIDATESUBMITCOMMAND pArgs
)
{...}

Parameters

hContext

[in] A handle to the miniport device context, which the KMD returned from DxgkDdiAddDevice.

pArgs

[in/out] Pointer to a DXGKARG_VALIDATESUBMITCOMMAND structure containing information needed to validate the submit command.

Return value

DXGKDDI_VALIDATESUBMITCOMMAND returns an NTSTATUS value such as one of the following:

  • STATUS_SUCCESS
  • STATUS_INVALID_USER_BUFFER

Remarks

When the KMD implements this callback, the KMD always validates private data passed in calls to:

This callback is called only when the private driver size (DmaBufferPrivateDataSize) in D3DKMTSubmitCommand is not zero.

It is called once per D3DKMTSubmitCommand or D3DKMTSubmitCommandToHwQueue.

The KMD should not assume that this callback is called in the context of the process that called D3DKMTSubmitCommand. Therefore, the UMD should not pass any user-mode pointers or handles in its private data.

This callback is called before the command is submitted to the GPU scheduler software queue for execution.

Requirements

Requirement Value
Minimum supported client Windows 10, version 1809
Header d3dkmddi.h
IRQL PASSIVE_LEVEL

See also

DXGKARG_VALIDATESUBMITCOMMAND