Compartilhar via


Função D3DKMTConnectDoorbell (d3dkmthk.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.

D3DKMTConnectDoorbell conecta (ou reconecta) uma criada anteriormente de campainha a uma fila de hardware.

Sintaxe

NTSTATUS D3DKMTConnectDoorbell(
  D3DKMT_CONNECT_DOORBELL *unnamedParam1
);

Parâmetros

unnamedParam1

[in] Ponteiro para uma estrutura *D3DKMT_CONNECT_DOORBELL* que descreve a campainha a ser conectada.

Valor de retorno

D3DKMTConnectDoorbell retorna STATUS_SUCCESS quando o sistema operacional conecta com êxito a campainha à fila de hardware e a UMD pode usar essa campainha para envio de trabalho. Normalmente, essa chamada não deve falhar; no entanto, um código de falha seria de gpu perdido ou parar tipos de cenários irrecuperáveis.

Observações

Sempre que o UMD envia um novo trabalho para a fila de hardware e toca a campainha, ele deve ler o DoorbellStatusCPUVirtualAddress para verificar se o anel de campainha foi bem-sucedido. Em caso de falha, a UMD deve chamar D3DKMTConnectDoorbell para reconectar a campainha e, em seguida, tentar o envio novamente.

Uma campainha pode ser desconectada por vários motivos:

  • Quando uma campainha é criada, o sistema operacional a inicializa em um estado "desconectado" e só a conecta quando a UMD chama D3DKMTConnectDoorbell pela primeira vez.
  • A campainha foi "vitimizada" em hardware que dá suporte ao modelo de campainha dedicado. Ou seja, a campainha física dessa fila de hardware foi atribuída a outra fila de hardware. Essa reatribuição é provável porque há mais filas de hardware criadas na GPU do que campainhas físicas.
  • A campainha foi desconectada como parte da suspensão da fila de hardware ou da alimentação da GPU.

Quando a UMD chama D3DKMTConnectDoorbell para conectar a campainha atribuída a uma fila de hardware, o sistema operacional faz uma chamada DxgkDdiConnectDoor bell correspondente ao KMD, para que o KMD possa encontrar uma campainha física, atribuí-la a essa fila de hardware e fazer as conexões necessárias entre a fila de hardware, a campainha, o agendador de GPU e assim por diante.

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 d3dkmthk.h

Consulte também

D3DKMT_CONNECT_DOORBELL

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell