DXGKCB_DISCONNECTDOORBELL função de retorno de chamada (d3dkmddi.h)
Importante
Algumas informações referem-se 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, em relação às informações fornecidas aqui.
O KMD chama DxgkCbDisconnectDoorbell para notificar 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.
Valor de retorno
DxgkCbDisconnectDoorbell retornará STATUS_INVALID_PARAMETER se Dxgkrnl não puder encontrar o hDoorbell associado para hHwQueue ou se DisconnectReason não for um dos valoresXXX D3DDDI_DOORBELLSTATUS_DISCONNECTED_. Em todos os outros casos, essa função é bem-sucedida, mesmo quando a campainha já está desconectada.
Observações
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 desmamaia os endereços virtuais e marca a campainha como desconectada. Especificamente, Dxgkrnl executa as seguintes etapas para desconectar a campainha:
- Gira o modo de usuário DoorbellCpuVirtualAddress 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 de envio de trabalho no modo de usuário.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 11, versão 24H2 (WDDM 3.2) |
cabeçalho | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |