DXGKARG_CONNECTDOORBELL structure (d3dkmddi.h)

Important

Some information relates to a prerelease product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here.

The DXGKARG_CONNECTDOORBELL structure contains parameters for DxgkDdiConnectDoorbell.

Syntax

typedef struct _DXGKARG_CONNECTDOORBELL {
  HANDLE                        hDoorbell;
  DXGKARG_CONNECTDOORBELL_FLAGS Flags;
  void                          *KernelCpuVirtualAddress;
  void                          *SecondaryKernelCpuVirtualAddress;
  D3DDDI_DOORBELLSTATUS         Status;
} DXGKARG_CONNECTDOORBELL;

Members

hDoorbell

[in] KMD handle to the doorbell object, which was previously created using DxgkDdiCreateDoorbell.

Flags

[in] A bit field of DXGKARG_CONNECTDOORBELL_FLAGS values specifying the doorbell connection flags. If UMD created this doorbell with the RequireSecondaryCpuVA flag, then Dxgkrnl sets the RequireSecondaryAddress flag in this DDI to inform KMD that this doorbell requires two physical addresses.

KernelCpuVirtualAddress

[out] Kernel-mode CPU virtual address mapped to the physical address that KMD wants to assign to this doorbell. Dxgkrnl will map this address to a process address space CPU virtual address that was provided to the UMD in D3DKMTCreateDoorbell. UMD will write a specific value to this address, effectively "ringing the doorbell" to notify the GPU scheduler of new work submission on HwQueue1.

SecondaryKernelCpuVirtualAddress

[out/optional] Kernel-mode CPU virtual address mapped to the secondary physical address that KMD wants to assign to this doorbell, if required.

Status

[out] A D3DDDI_DOORBELLSTATUS value that KMD wants Dxgkrnl to write into the UMD-visible page that pDoorbellStatusCpuVirtualAddress points to. This value can only be D3DDDI_DOORBELL_STATUS_CONNECTED or D3DDDI_DOORBELL_STATUS_CONNECTED_NOTIFY.

Requirements

Requirement Value
Minimum supported client WIN11_FUTURE
Header d3dkmddi.h

See also

D3DDDI_DOORBELLSTATUS

D3DKMTCreateDoorbell

DXGKARG_CONNECTDOORBELL_FLAGS

DxgkDdiConnectDoorbell