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
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) |