Compartilhar via


estrutura DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 (d3dkmthk.h)

A estrutura DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 é usada para registrar o estado de energia de uma nova entrada.

Sintaxe

typedef struct _DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 {
  ULONG                         Version;
  PVOID                         PrivateHandle;
  PDXGK_POWER_NOTIFICATION      PowerNotificationCb;
  PDXGK_REMOVAL_NOTIFICATION    RemovalNotificationCb;
  PDXGK_FSTATE_NOTIFICATION     FStateNotificationCb;
  PDXGK_INITIAL_COMPONENT_STATE InitialComponentStateCb;
} DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2, *PDXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2;

Membros

Version

A versão atual que está sendo usada. Esse valor deve ser definido como um dos seguintes DXGK_GRAPHICSPOWER_VERSIONs:

#define DXGK_GRAPHICSPOWER_VERSION_1_0 0x1000
#define DXGK_GRAPHICSPOWER_VERSION_1_1 0x1001
#define DXGK_GRAPHICSPOWER_VERSION_1_2 0x1002
#define DXGK_GRAPHICSPOWER_VERSION DXGK_GRAPHICSPOWER_VERSION_1_2

Por padrão, DXGK_GRAPHICSPOWER_VERSION representa a versão mais recente. O subsistema gráfico dá suporte à versão atual e a todas as versões anteriores. Se esse valor for uma versão não reconhecida, falharemos com STATUS_NOINTERFACE. Isso só deve acontecer no caso de o driver não gráfico ter sido criado para um sistema operacional mais recente do que o que está em execução no momento e, nesse caso, esperamos que o driver não gráfico tente novamente com um número de versão mais baixo.

DXGK_GRAPHICSPOWER_VERSION_1_1 dá suporte a notificações de alteração de estado F. DXGK_GRAPHICSPOWER_VERSION_1_2 dá suporte à enumeração inicial de dados e estado do componente de energia compartilhada.

PrivateHandle

Um identificador opaco que será fornecido em quaisquer retornos de chamada. Esse identificador deve ser globalmente exclusivo, portanto, um ponteiro para o PDO ou FDO do driver de chamada deve ser usado. Esse identificador será usado como uma chave por elementos gráficos para acompanhar esse registro específico e será associado aos retornos de chamada de driver não gráficos para lidar com sua remoção futura.

PowerNotificationCb

Um retorno de chamada que fornece uma notificação de que o dispositivo gráfico passará por uma transição de estado de energia do dispositivo e fornecerá um novo DEVICE_POWER_STATE. Esse retorno de chamada é necessário para ser implementado. Consulte PDXGK_POWER_NOTIFICATION.

RemovalNotificationCb

Um retorno de chamada notificando que o dispositivo gráfico está sendo removido. Quaisquer retornos de chamada adicionais em elementos gráficos para este DeviceHandle retornarão um código NTSTATUS com falha e serão bloqueados até que você retorne do retorno de chamada RemovalNotificationCb. Esse retorno de chamada é necessário para ser implementado. Consulte PDXGK_REMOVAL_NOTIFICATION

FStateNotificationCb

Emite uma notificação de estado. Esse retorno de chamada é opcional e é usado por drivers não gráficos. Consulte PDXGK_FSTATE_NOTIFICATION.

InitialComponentStateCb

Inicializa o estado do componente. Consulte PDXGK_INITIAL_COMPONENT_STATE.

Comentários

Os drivers gráficos indicam quais componentes de energia existem respondendo às consultas DXGKQAITYPE_NUMPOWERCOMPONENTS e DXGKQAITYPE_POWERCOMPONENTINFO em _DXGK_QUERYADAPTERINFOTYPE.

Se um driver gráfico registrar pelo menos um componente DXGK_POWER_COMPONENT_SHARED , uma interface GRAPHICSPOWER será criada para esse adaptador. A interface não será registrada para adaptadores que não expõem nenhum desses componentes.

Os drivers gráficos podem registrar um componente de "bloqueio" definindo o sinalizador DXGK_POWER_RUNTIME_COMPONENTActiveInD3 como 0 ou um componente "sem bloqueio" definindo esse sinalizador como 1.

Um componente de energia de bloqueio impedirá que o dispositivo gráfico desligue quando estiver em uso, enquanto um componente de energia sem bloqueio não será. Ambos permitem que o driver gráfico gerencie corretamente seus planos de energia quando estiver em uso pelo driver não gráfico.

Um driver gráfico pode expor um componente de energia de bloqueio e não bloqueio para um único componente físico/lógico, caso deseje fornecer a capacidade do driver não gráfico de escolher seletivamente o bloqueio ou o uso sem bloqueio.

Quando a interface do driver GRAPHICSPOWER está disponível e habilitada, um driver não gráfico pode fazer uma chamada de E/S ao driver gráfico para se registrar no driver gráfico fornecendo e obtendo retornos de chamada que serão usados para gerenciar os componentes de energia compartilhados. A chamada de E/S usará o código de controle IOCTL_INTERNAL_GRAPHICSPOWER_REGISTER , com dados de entrada DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 e dados de saída _DXGK_GRAPHICSPOWER_REGISTER_OUTPUT.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 10, versão 1803 (WDDM 2.4)
Cabeçalho d3dkmthk.h