DXGKDDI_CONNECTDOORBELL 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.
DxgkDdiConnectDoorbell conecta (ou reconecta) um objeto doorbell criado anteriormente a uma fila de hardware.
Sintaxe
DXGKDDI_CONNECTDOORBELL DxgkddiConnectdoorbell;
NTSTATUS DxgkddiConnectdoorbell(
INOUT_PDXGKARG_CONNECTDOORBELL pArgs
)
{...}
Parâmetros
pArgs
[entrada/saída] Ponteiro para uma estrutura DXGKARG_CONNECTDOORBELL que descreve a campainha a ser conectada.
Retornar valor
DxgkDdiConnectDoorbell retorna STATUS_SUCCESS se o KMD foi capaz de conectar com êxito seu objeto doorbell à fila de hardware especificada. Normalmente, essa chamada não deve falhar; no entanto, um código de falha retornado seria dos tipos de GPU perdidos ou interrompidos de cenários irrecuperáveis.
Comentários
Quando UMD chama D3DKMTConnectDoorbell, o sistema operacional chama DxgkDdiConnectDoorbell para que o KMD possa fazer o seguinte:
- Forneça um endereço virtual de CPU mapeado para o local da campainha física.
- Faça as conexões necessárias entre o objeto de fila de hardware, o objeto doorbell, o endereço físico da campainha, o agendador de GPU e assim por diante.
Ao retornar dessa DDI, o KMD deve considerar esse endereço físico como reservado para essa fila de hardware específica. No entanto, o sistema operacional não tem um requisito de exclusividade para o endereço físico da campainha. Ou seja, o KMD pode optar por compartilhar o mesmo endereço físico com várias portas lógicas/filas de hardware, dependendo da implementação do hardware. Por exemplo, alguns hardwares podem optar por atribuir o mesmo endereço físico a todas as filas de hardware de um único contexto de hardware. É até possível que várias campainhas lógicas compartilhem a mesma página física de 4KB, mas usem um deslocamento exclusivo dentro da página.
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 |