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 |
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de