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 object.

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 pDoorbellStatusCPUVirtualAddress points to.
  • Frees both the user-mode and kernel-mode mappings that pDoorbellCPUVirtuslAddress 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.

Requirements

Requirement Value
Minimum supported client WIN11_FUTURE
Header d3dkmthk.h

See also

D3DKMT_DESTROY_DOORBELL

D3DKMTCreateDoorbell