DXGKDDI_DSIRESET função de retorno de chamada (dispmprt.h)
Sintaxe
DXGKDDI_DSIRESET DxgkddiDsireset;
NTSTATUS DxgkddiDsireset(
[in] HANDLE Context,
[in] D3DDDI_VIDEO_PRESENT_TARGET_ID TargetId,
[out] PDXGK_DSI_RESET pArgs
)
{...}
Parâmetros
[in] Context
[in] TargetId
Identificador de destino do monitor.
[out] pArgs
Ponteiro para uma estrutura DXGI_DSI_CAPS.
Valor de retorno
DxgkddiDsiReset retornará STATUS_SUCCESS se tiver êxito; caso contrário, retornará um dos códigos de erro definidos em Ntstatus.h.
Observações
Se o driver do painel OEM detectar que o painel está em um estado inválido, ele envia um IOCTL_MIPI_DSI_RESET para solicitar uma redefinição do dispositivo sob o driver gráfico e o controle do sistema operacional. Uma redefinição é necessariamente uma operação de peso pesado que causará o em branco de exibição para vários quadros e, portanto, só deve ser usada como último recurso.
A operação normal do painel não pode ser continuada durante o processamento de uma redefinição, portanto, o sistema operacional a tratará de forma muito semelhante a uma alteração no modo de exibição, liberando a atividade de GPU pendente, incluindo quaisquer inversões e bloqueando o novo trabalho até concluir. O sistema operacional converte o IOCTL em uma chamada DDI DxgkDsiReset. O driver deve remover completamente a energia do painel e reinicializá-la do zero e, após o atraso apropriado, executar todas as ações necessárias para restaurar o painel para um estado viável antes de retornar. Quando definido, o sinalizador SecondaryPort
indica que a redefinição deve ser direcionada para um painel secundário em vez do primário.
Se o driver gráfico exigir um conjunto de modo completo para executar ou restaurar de uma redefinição de painel, ele deverá definir o sinalizador de saída NeedModeSet
. Se definido no retorno da chamada, o sistema operacional responderá com uma chamada DxgkDdiSetTimingsFromVidPn antes de desbloquear a atividade normal. O driver pode optar por adiar parte do trabalho de redefinição para essa chamada, se necessário, desde que um estado viável seja esperado após a chamada de intervalos definida.
O driver gráfico deve relatar erros de MIPI de baixo nível detectados e não tratados pelo driver por meio do campo de saída MipiErrors
.
Se ocorrer um erro irrecuperável durante a redefinição, o driver de gráficos deverá definir o sinalizador de saída ResetFailed
. Espera-se que seja uma falha catastrófica. O driver gráfico também deve sinalizar que nenhuma exibição está disponível no destino indicando que ocorreu um unplug usando o DxgkCbIndicateConnectorChange retorno de chamada e, em seguida, respondendo a DxgkDdiQueryConnectionChange relatando um TargetStatusDisconnected para o destino que falhou.
Os campos de saída serão propagados de volta para o buffer de saída do IOCTL.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 10, versão 2004 |
cabeçalho | dispmprt.h |