DXGKDDI_RESETHWENGINE função de retorno de chamada (d3dkmddi.h)
Dxgkrnl chama a função DxgkDdiResetHwEngine do driver de miniporto de exibição (KMD) quando uma redefinição do mecanismo de GPU é necessária.
Sintaxe
DXGKDDI_RESETHWENGINE DxgkddiResethwengine;
NTSTATUS DxgkddiResethwengine(
IN_CONST_HANDLE hAdapter,
INOUT_PDXGKARG_RESETHWENGINE pResetHwEngine
)
{...}
Parâmetros
hAdapter
[in] Um identificador para o bloco de contexto associado a um adaptador de exibição. O KMD forneceu anteriormente esse identificador para Dxgkrnl no parâmetro de saída MiniportDeviceContext da função DxgkDdiAddDevice .
pResetHwEngine
[entrada/saída] Ponteiro para uma estrutura DXGKARG_RESETHWENGINE que contém informações para redefinir o mecanismo de hardware.
Retornar valor
DxgkDdiResetHwEngine retornará STATUS_SUCCESS se a operação for bem-sucedida. Caso contrário, ele deverá retornar um código de erro NTSTATUS apropriado.
Comentários
Uma implementação DxgkDdiResetHwEngine deve chamar o retorno de chamada DxgkCbInvalidateHwContext para informar o sistema operacional de todos os contextos em execução que foram afetados pela operação de redefinição do mecanismo de GPU. O sistema operacional invalidará esses dispositivos de contexto (defina-os em erro) e não executará envios futuros.
O mecanismo ainda não é considerado retomado depois que DxgkDdiResetHwEngine é chamado, portanto, os contextos que não foram invalidados não têm permissão para serem enviados. O sistema operacional precisa reabilitar interrupções desse mecanismo e sincronizar seu estado com o mecanismo de GPU de redefinição. Depois disso, o sistema operacional habilitará interrupções e chamará DxgkDdiResumeHwEngine, que instrui o mecanismo de GPU a começar a agendar todos os contextos executáveis que não foram afetados pela redefinição do mecanismo.
Registre a implementação dessa função de retorno de chamada na estrutura **DRIVER_INITIALIZATION_DATA ** .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10, versão 1703 (WDDM 2.2) |
Cabeçalho | d3dkmddi.h |