Partilhar via


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

Consulte também

DxgkCbIndicateConnectorChange

DxgkDdiQueryConnectionChange

DxgkDdiSetTimingsFromVidPn

IOCTL_MIPI_DSI_RESET