Partilhar via


Suporte a eventos acpi e saída de exibição

Uma abordagem abrangente para a configuração do sistema e o controle de energia do dispositivo é incorporada ao Windows, com base na especificação de ACPI (Advanced Configuration and Power Interface). O Windows dá suporte a recursos que podem ser usados por drivers para gerenciar a configuração e a potência dos dispositivos de saída de exibição. Para obter mais informações, consulte a especificação de ACPI no site da ACPI.

Requisitos do BIOS para dar suporte a dispositivos de saída de exibição

O driver de miniporta de exibição ou os métodos ACPI expostos pelo BIOS do sistema dão suporte à configuração de dispositivos de saída de exibição. A função DxgkDdiNotifyAcpiEvent é chamada para notificar o driver de miniporto de exibição sobre eventos ACPI. Por exemplo, quando o usuário pressiona o atalho de teclado para a opção de dispositivo de saída, a função DxgkDdiNotifyAcpiEvent é chamada com ACPI_NOTIFY_CYCLE_DISPLAY_HOTKEY notificação e um tipo de solicitação de DXGK_ACPI_CHANGE_DISPLAY_MODE. Como resultado, o sistema operacional chama a função DxgkDdiRecommendFunctionalVidPn para consultar o dispositivo de saída de exibição selecionado.

Os seguintes aliases para a saída de exibição da ACPI são definidos em Dispmprt.h:

  • ACPI_METHOD_DISPLAY_DOD – enumera todos os dispositivos anexados ao adaptador de vídeo. Esse método será necessário se o controlador integrado der suporte à alternância de dispositivos de saída. Esse é o nome do alias para o método DOD_ definido pela especificação acpi.
  • ACPI_METHOD_DISPLAY_DOS - Indica que o firmware do sistema é capaz de alternar automaticamente a saída de exibição ativa. Esse é o nome do alias para o método SOD_ definido pela especificação acpi. Estes são os parâmetros permitidos:
    • ACPI_ARG_ENABLE_SWITCH_EVENT. Afirma que o firmware do sistema não deve alternar automaticamente o dispositivo de saída de exibição ativo. Em vez disso, ele deve salvar a alteração desejada em variáveis de estado associadas a cada dispositivo de saída de exibição e gerar um evento de comutador de exibição. O sistema operacional pode consultar o status ativo de um dispositivo chamando o método ACPI_METHOD_OUTPUT_DGS.
    • ACPI_ARG_ENABLE_AUTO_SWITCH. Afirma que o firmware do sistema deve alternar automaticamente o dispositivo de saída de exibição ativo sem interagir com o sistema operacional. Ele não gera um evento de comutador de exibição.
    • ACPI_ARG_DISABLE_SWITCH_EVENT. Afirma que o firmware do sistema não deve executar nenhuma ação; ou seja, não alterne o dispositivo de saída nem notifique o sistema operacional. Os valores retornados pelo método ACPI_METHOD_OUTPUT_DGS são bloqueados.
  • ACPI_METHOD_OUTPUT_DCS – retorna o status de um dispositivo de saída de exibição. Esse é o nome do alias para o método CSD_ definido pela especificação acpi.
  • ACPI_METHOD_OUTPUT_DGS – verifica se o status de um dispositivo de saída de exibição está ativo. Esse é o nome do alias para o método SGD_ definido pela especificação acpi.
  • ACPI_METHOD_OUTPUT_DSS – define o status de um dispositivo de saída de exibição como ativo ou inativo. Esse é o nome do alias para o método SSD_ definido pela especificação acpi. O sistema operacional gerencia essa ação para evitar cintilação.
  • ACPI_METHOD_DISPLAY_GPD – consulta a entrada CMOS para determinar qual dispositivo de vídeo é postado no momento da inicialização. Esse é o nome do alias para o método DPG_ definido pela especificação acpi.
  • ACPI_METHOD_DISPLAY_SPD - Atualizações a entrada CMOS que determina qual dispositivo de vídeo é postado no momento da inicialização. Esse é o nome do alias para o método DPS_ definido pela especificação acpi.
  • ACPI_METHOD_DISPLAY_VPO – determina quais opções de vídeo são implementadas. Esse é o nome do alias para o método OPV_ definido pela especificação acpi.

Eventos assíncronos externos

O sistema operacional deve ser notificado sobre eventos externos e assíncronos que afetam os dispositivos de saída de exibição. As notificações a seguir e os tipos de solicitação relacionados são definidos em Dispmprt.h e usados na função DxgkDdiNotifyAcpiEvent .

  • ACPI_NOTIFY_CYCLE_DISPLAY_HOTKEY - Notifica o sistema operacional de que o usuário pressionou o atalho de teclado de exibição de ciclo.
  • ACPI_NOTIFY_NEXT_DISPLAY_HOTKEY - Notifica o sistema operacional de que o usuário pressionou o próximo atalho de teclado de exibição.
  • ACPI_NOTIFY_PREV_DISPLAY_HOTKEY - Notifica o sistema operacional de que o usuário pressionou o atalho de teclado de exibição anterior.

Nota As notificações anteriores dependem da manipulação do evento causado pelo usuário ao pressionar os atalhos de teclado.

Veja a seguir os tipos de solicitações que o driver de miniporto de exibição pode fazer ao sistema operacional.

  • DXGK_ACPI_CHANGE_DISPLAY_MODE – solicita que você inicie uma alteração de modo para a nova VidPN (rede de vídeo presente) ativa recomendada.
  • DXGK_ACPI_POLL_DISPLAY_CHILDREN - Solicitações para sondar a conectividade dos filhos do adaptador de vídeo.

Nota As solicitações anteriores são os valores do parâmetro AcpiFlags retornados pela função DxgkDdiNotifyAcpiEvent .

Suporte a controles de brilho em painéis de exibição integrados