// d3dkmddi.h
DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;
NTSTATUS DxgkcbDisconnectdoorbell(
INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}
View the official Windows Driver Kit DDI referenceNo description available.
KMD calls DxgkCbDisconnectDoorbell to notify Dxgkrnl that KMD needs to disconnect a previously connected doorbell from a hardware queue.
pArgs[in] Pointer to a DXGKARGCB_DISCONNECTDOORBELL structure that describes the doorbell to disconnect.
DxgkCbDisconnectDoorbell returns STATUS_INVALID_PARAMETER if Dxgkrnl can't find the associated hDoorbell for hHwQueue, or if DisconnectReason isn't one of the D3DDDI_DOORBELLSTATUS_DISCONNECTED_*XXX* values. In all other cases this function succeeds, even when the doorbell is already disconnected.
KMD calls this function to notify Dxgkrnl when it needs to disconnect a doorbell. KMD should consider the physical doorbell address to be disconnected only after return from this callback.
Dxgkrnl unmaps the virtual addresses and marks the doorbell as disconnected. Specifically, Dxgkrnl does the following steps to disconnect the doorbell:
For more information, see User-mode work submission.