Partager via


IOCTL_PMI_GET_CONFIGURATION IOCTL (pmi.h)

La requête IOCTL_PMI_GET_CONFIGURATION retourne des informations sur la configuration actuelle d’un compteur de puissance.

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d'entrée

Le membre AssociatedIrp.SystemBuffer du paquet de requête d’E/S (IRP) pointe vers une mémoire tampon allouée par l’initiateur qui est utilisée à la fois comme mémoire tampon d’entrée et mémoire tampon de sortie pour la requête. En entrée, cette mémoire tampon contient une structure PMI_CONFIGURATION dans laquelle les membres Version et ConfigurationType sont définis sur des valeurs valides. Le membre ConfigurationType contient une valeur d’énumération PMI_CONFIGURATION_TYPE qui spécifie le type d’informations de configuration à récupérer à partir du compteur d’alimentation. Cette valeur détermine également le type d’informations de configuration à écrire dans la mémoire tampon de sortie.

Longueur de la mémoire tampon d’entrée

Le membre Parameters.DeviceIoControl.InputBufferLength de l’emplacement actuel de la pile d’E/S de l’IRP (IO_STACK_LOCATION) est défini sur la taille en octets de la mémoire tampon vers laquelle pointe le membre AssociatedIrp.SystemBuffer . Cette taille doit être supérieure ou égale à sizeof(PMI_CONFIGURATION) pour que la demande échoue avec une erreur status de STATUS_INVALID_PARAMETER.

Mémoire tampon de sortie

Si la demande se termine correctement, la mémoire tampon pointée par le membre AssociatedIrp.SystemBuffer contient une structure PMI_CONFIGURATION . Cette structure contient les informations de configuration demandées.

Longueur de la mémoire tampon de sortie

Le membre Parameters.DeviceIoControl.OutputBufferLength de l’emplacement actuel de la pile d’E/S de l’IRP est défini sur la taille en octets de la mémoire tampon vers laquelle pointe le membre AssociatedIrp.SystemBuffer . Pour que la demande réussisse, cette taille doit être supérieure ou égale à sizeof(PMI_CONFIGURATION). Sinon, la demande échoue avec une erreur status de STATUS_BUFFER_TOO_SMALL.

Bloc d’état

Le membre Information est défini sur la taille, en octets, d’une structure PMI_CONFIGURATION .

Le membre Status est défini sur l’une des valeurs suivantes :

STATUS_BUFFER_TOO_SMALL

Le membre Parameters.DeviceIoControl.OutputBufferLength de l’IRP est inférieur à la taille, en octets, d’une structure PMI_CONFIGURATION .

STATUS_INVALID_PARAMETER

La mémoire tampon d’entrée allouée par l’initiateur contient une valeur PMI_CONFIGURATION_TYPE non valide.

STATUS_SUCCESS

Le pilote WDM qui prend en charge l’interface PMI a terminé la demande IOCTL avec succès.

Remarques

La requête IOCTL_PMI_GET_CONFIGURATION interroge la configuration actuelle du compteur de puissance. L’entrée PMI_CONFIGURATION_TYPE valeur d’énumération spécifie le type de données de configuration à retourner. Le type de données et le contenu de la mémoire tampon de sortie varient en fonction des données demandées.

Le tableau suivant décrit le type de données qui est retourné pour la valeur d’énumération PMI_CONFIGURATION_TYPE spécifiée.

valeur PMI_CONFIGURATION_TYPE Description
PmiBudgetingConfiguration Une structure PMI_BUDGETING_CONFIGURATION qui contient des informations sur la configuration du budget du compteur de puissance.
PmiMeasurementConfiguration Une structure PMI_MEASUREMENT_CONFIGURATION qui contient des informations sur la configuration de mesure du compteur de puissance.
PmiThresholdConfiguration Une structure PMI_THRESHOLD_CONFIGURATION qui contient des informations sur la configuration du seuil du compteur de puissance.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows 7, Windows Server 2008 R2 et versions ultérieures des systèmes d’exploitation Windows.
En-tête pmi.h (inclure Pmi.h)

Voir aussi

IOCTL_PMI_GET_CAPABILITIES

IO_STACK_LOCATION

IRP

PMI_BUDGETING_CONFIGURATION

PMI_CAPABILITIES_TYPE

PMI_CONFIGURATION

PMI_CONFIGURATION_TYPE

PMI_MEASUREMENT_CONFIGURATION

PMI_THRESHOLD_CONFIGURATION