D3DKMTDestroyDoorbell function (d3dkmthk.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.

D3DKMTDestroyDoorbell destroys a doorbell.

Syntax

NTSTATUS D3DKMTDestroyDoorbell(
  D3DKMT_DESTROY_DOORBELL *unnamedParam1
);

Parameters

unnamedParam1

[in] Pointer to a D3DKMT_DESTROY_DOORBELL structure that identifies the hardware queue whose doorbell is to be destroyed.

Return value

D3DKMTDestroyDoorbell returns STATUS_SUCCESS when the OS successfully destroys the doorbell object. If hDoorbell points to a valid doorbell, then this call always succeeds; otherwise it returns STATUS_INVALID_PARAMETER.

Remarks

When UMD calls D3DKMTDestroyDoorbell, the OS does the following:

  • Removes its reference to hRingBuffer and to hRingBufferControl allocations belonging to this doorbell.
  • Frees the mapping that DoorbellStatusCPUVirtualAddress points to.
  • Frees both the user-mode and kernel-mode mappings that DoorbellCPUVirtuslAddress points to.
  • Calls KMD's [DxgkDdiDestroyDoorbell] so that KMD can disconnect the physical doorbell location and destroy its doorbell objects.

The UMD must not use the handle after calling D3DKMTDestroyDoorbell.

For more information, see User-mode work submission.

Requirements

Requirement Value
Minimum supported client Windows 11, version 24H2 (WDDM 3.2)
Header d3dkmthk.h

See also

D3DKMT_DESTROY_DOORBELL

D3DKMTCreateDoorbell