DXGKDDI_QUERYDEPENDENTENGINEGROUP função de retorno de chamada (d3dkmddi.h)
DXGKDDI_QUERYDEPENDENTENGINEGROUP é chamado pelo agendador de GPU do driver de porta de exibição para consultar dependências de nós em um adaptador de exibição físico.
Sintaxe
DXGKDDI_QUERYDEPENDENTENGINEGROUP DxgkddiQuerydependentenginegroup;
NTSTATUS DxgkddiQuerydependentenginegroup(
IN_CONST_HANDLE hAdapter,
INOUT_DXGKARG_QUERYDEPENDENTENGINEGROUP pQueryDependentEngineGroup
)
{...}
Parâmetros
hAdapter
Um identificador para um bloco de contexto associado a um adaptador de exibição. O driver de miniporto de exibição forneceu anteriormente esse identificador para o subsistema kernel de elementos gráficos DirectX no parâmetro de saída MiniportDeviceContext da função DxgkDdiAddDevice .
pQueryDependentEngineGroup
Um valor do tipo DXGKARG_QUERYDEPENDENTENGINEGROUP que especifica todos os nós afetados pela operação de redefinição.
Retornar valor
Retorna STATUS_SUCCESS se for bem-sucedido. Caso contrário, ele retornará um dos códigos de erro definidos em Ntstatus.h.
Comentários
Essa função é usada para descrever todos os adaptadores físicos (mecanismos) afetados por uma solicitação de redefinição do mecanismo. Ele ajuda a melhorar a experiência do usuário em arquiteturas de hardware que têm dependências entre vários mecanismos que podem afetar o processo de redefinição. Observe que todos os nós afetados devem ter o mesmo valor de afinidade do mecanismo. (Consulte a discussão de afinidade do mecanismo em alterações de TDR no Windows 8.)
O agendador de GPU do driver de porta de exibição chama DxgkDdiQueryDependentEngineGroup sempre que chama a função DxgkDdiResetEngine . O agendador de GPU aguarda 500 milissegundos para que o driver de miniporto de exibição conclua a preempção de todos os mecanismos dependentes. Para os mecanismos para os quais o driver não pode concluir uma preempção, o agendador de GPU chama a função DxgkDdiResetEngine sequencialmente com base no valor ordinal do mecanismo.
Aqui está um exemplo de como calcular a máscara de bits no DXGKARG_QUERYDEPENDENTENGINEGROUP. Membro DependentNodeOrdinalMask . Se os valores originais dos membros NodeOrdinal e EngineOrdinal da estrutura DXGKARG_QUERYDEPENDENTENGINEGROUP forem 1 e 0, respectivamente, e nós adicionais com identificadores 2 e 4 também serão redefinidos quando o nó 1 for redefinido, o driver deverá definir o valor binário de DependentNodeOrdinalMask como 10110 ou 0x16 na notação hexadecimal. O valor de índice EngineOrdinal é considerado idêntico para todos os nós dependentes. O nó que está sendo redefinido está incluído na máscara de bits DependentNodeOrdinalMask .
Essa função deve ser tornada paginável e sempre deve ser bem-sucedida.
O sistema operacional garante que essa função siga o modo de sincronização de primeiro nível, conforme definido no Primeiro Nível de Threading e Sincronização.
Para obter mais informações, consulte Alterações de TDR em Windows 8.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 8 |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Área de Trabalho |
Cabeçalho | d3dkmddi.h |
IRQL | PASSIVE_LEVEL |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de