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 |
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour