DXGKCB_DISCONNECTDOORBELL função de retorno de chamada (d3dkmddi.h)
Importante
Algumas informações estão relacionadas a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
O KMD chama DxgkCbDisconnectDoorbell para notificar o Dxgkrnl de que o KMD precisa desconectar uma campainha conectada anteriormente de uma fila de hardware.
Sintaxe
DXGKCB_DISCONNECTDOORBELL DxgkcbDisconnectdoorbell;
NTSTATUS DxgkcbDisconnectdoorbell(
INOUT_PDXGKARGCB_DISCONNECTDOORBELL pArgs
)
{...}
Parâmetros
pArgs
[in] Ponteiro para uma estrutura DXGKARGCB_DISCONNECTDOORBELL que descreve a campainha a ser desconectada.
Retornar valor
DxgkCbDisconnectDoorbell retornará STATUS_INVALID_PARAMETER se Dxgkrnl não conseguir localizar o hDoorbell associado para hHwQueue ou se DisconnectReason não for um dos valores D3DDDI_DOORBELLSTATUS_DISCONNECTED_XXX . Em todos os outros casos, essa função é bem-sucedida, mesmo quando a campainha já está desconectada.
Comentários
O KMD chama essa função para notificar dxgkrnl quando precisar desconectar uma campainha. O KMD deve considerar que o endereço da campainha física deve ser desconectado somente após o retorno desse retorno de chamada.
Dxgkrnl cancela omaps dos endereços virtuais e marca a campainha como desconectada. Especificamente, o Dxgkrnl executa as seguintes etapas para desconectar a campainha:
- Gira o DoorbellCpuVirtualAddress no modo de usuário para uma página fictícia para que a UMD não possa mais gravar no local da campainha física.
- Grava o DisconnectReason em DoorbellStatusCpuVirtualAddress para que a UMD saiba que a campainha está desconectada e o motivo.
Para obter mais informações, consulte Envio de trabalho no modo de usuário.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 11, versão 24H2 (WDDM 3.2) |
Cabeçalho | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |