Compartilhar via


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

D3DKMTConnectDoorbell conecta (ou reconecta) uma campainha criada anteriormente para 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.

Retornar valor

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 perdida ou tipos de parada de cenários irrecuperáveis.

Comentários

Sempre que o UMD envia um novo trabalho para a fila de hardware e toca a campainha, ele deve ler o DoorbellStatusCPUVirtualAddress para marcar se o anel de campainha foi bem-sucedido. Em caso de falha, a UMD deve chamar D3DKMTConnectDoorbell para reconectar a campainha e 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 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 diminuiçã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 DxgkDdiConnectDoorbell correspondente para 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 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 d3dkmthk.h

Confira também

D3DKMT_CONNECT_DOORBELL

D3DKMTCreateDoorbell

DxgkDdiConnectDoorbell