structure DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 (d3dkmthk.h)

La structure DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 est utilisée pour inscrire l’état d’alimentation d’une nouvelle entrée.

Syntaxe

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;

Membres

Version

Version actuelle utilisée. Cette valeur doit être définie sur l’une des DXGK_GRAPHICSPOWER_VERSIONs suivantes :

#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

Par défaut, DXGK_GRAPHICSPOWER_VERSION représente la dernière version. Le sous-système graphique prend en charge la version actuelle et toutes les versions précédentes. Si cette valeur est une version qui n’est pas reconnue, nous échouerons avec STATUS_NOINTERFACE. Cela ne doit se produire que dans le cas où le pilote non graphique a été créé pour un système d’exploitation plus récent que celui en cours d’exécution, et dans ce cas, nous nous attendons à ce que le pilote non graphique réessaye avec un numéro de version inférieur.

DXGK_GRAPHICSPOWER_VERSION_1_1 prend en charge les notifications de modification d’état F. DXGK_GRAPHICSPOWER_VERSION_1_2 prend en charge l’énumération initiale des données et de l’état des composants d’alimentation partagés.

PrivateHandle

Un handle opaque qui sera fourni dans tous les rappels. Ce handle doit être globalement unique. Par conséquent, un pointeur vers l’AOP ou le FDO du pilote appelant doit être utilisé. Ce handle sera utilisé comme clé par les graphiques pour suivre cette inscription spécifique et sera associé aux rappels de pilotes non graphiques afin de gérer leur suppression future.

PowerNotificationCb

Rappel indiquant que l’appareil graphique va faire l’objet d’une transition d’état d’alimentation de l’appareil et fournir une nouvelle DEVICE_POWER_STATE. Ce rappel doit être implémenté. Voir PDXGK_POWER_NOTIFICATION.

RemovalNotificationCb

Rappel signalant que le périphérique graphique est en cours de suppression. Tous les rappels supplémentaires dans des graphiques pour ce DeviceHandle retournent un code NTSTATUS défaillant et seront bloqués jusqu’à ce que vous reveniez à partir du rappel RemovalNotificationCb. Ce rappel doit être implémenté. Voir PDXGK_REMOVAL_NOTIFICATION

FStateNotificationCb

Émet une notification d’état. Ce rappel est facultatif et est utilisé par les pilotes non graphiques. Voir PDXGK_FSTATE_NOTIFICATION.

InitialComponentStateCb

Initialise l’état du composant. Voir PDXGK_INITIAL_COMPONENT_STATE.

Remarques

Les pilotes graphiques indiquent quels composants d’alimentation existent en répondant aux requêtes DXGKQAITYPE_NUMPOWERCOMPONENTS et DXGKQAITYPE_POWERCOMPONENTINFO dans _DXGK_QUERYADAPTERINFOTYPE.

Si un pilote graphique inscrit au moins un composant DXGK_POWER_COMPONENT_SHARED , une interface GRAPHICSPOWER est créée pour cette carte. L’interface ne sera pas inscrite pour les adaptateurs qui n’exposent aucun de ces composants.

Les pilotes graphiques peuvent inscrire un composant « bloquant » en définissant l’indicateur de DXGK_POWER_RUNTIME_COMPONENTActiveInD3 sur 0, ou un composant « non bloquant » en définissant cet indicateur sur 1.

Un composant d’alimentation bloquant empêche le périphérique graphique de s’éteindre lorsqu’il est en cours d’utilisation, tandis qu’un composant d’alimentation non bloquant ne le sera pas. Les deux permettent au pilote graphique de gérer correctement ses plans d’alimentation lorsqu’il est utilisé par le pilote non graphique.

Un pilote graphique peut exposer un composant d’alimentation bloquant et non bloquant pour un seul composant physique/logique, s’il souhaite permettre au pilote non graphique de choisir de manière sélective une utilisation bloquante ou non bloquante.

Lorsque l’interface du pilote GRAPHICSPOWER est disponible et activée, un pilote non graphique peut effectuer un appel d’E/S au pilote graphique pour s’inscrire auprès du pilote graphique fournissant et obtenant des rappels qui seront utilisés pour gérer les composants d’alimentation partagés. L’appel d’E/S utilise le code de contrôle IOCTL_INTERNAL_GRAPHICSPOWER_REGISTER , avec les données d’entrée DXGK_GRAPHICSPOWER_REGISTER_INPUT_V_1_2 et les données de sortie _DXGK_GRAPHICSPOWER_REGISTER_OUTPUT.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 10, version 1803 (WDDM 2.4)
En-tête d3dkmthk.h