DXGKDDI_CONNECTDOORBELL - NtDoc

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

DXGKDDI_CONNECTDOORBELL DxgkddiConnectdoorbell;

NTSTATUS DxgkddiConnectdoorbell(
  INOUT_PDXGKARG_CONNECTDOORBELL pArgs
)
{...}
View the official Windows Driver Kit DDI reference

NtDoc

No description available.

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

Description

DxgkDdiConnectDoorbell connects (or reconnects) a previously created doorbell object to a hardware queue.

Parameters

pArgs

[in/out] Pointer to a DXGKARG_CONNECTDOORBELL structure that describes the doorbell to connect.

Return value

DxgkDdiConnectDoorbell returns STATUS_SUCCESS if KMD was able to successfully connect its doorbell object to the specified hardware queue. This call should not typically fail; however, a returned failure code would be from GPU lost or stopped kinds of irrecoverable scenarios.

Remarks

When UMD calls D3DKMTConnectDoorbell, the OS calls DxgkDdiConnectDoorbell so that the KMD can do the following:

On return from this DDI, KMD should consider this physical address as reserved for this particular hardware queue. However, the OS doesn't have a uniqueness requirement for the doorbell's physical address. That is, KMD can choose to share the same physical address with multiple logical doorbells/hardware queues depending on the hardware implementation. For example, some hardware might choose to assign the same physical address to all the hardware queues of a single hardware context. It's even possible that multiple logical doorbells share the same 4KB physical page but use a unique offset within the page.

For more information, see User-mode work submission.

See also

D3DKMTConnectDoorbell

DXGKARG_CONNECTDOORBELL

DxgkDdiCreateDoorbell

DxgkDdiDisconnectDoorbell