Partager via


IOCTL_HPMI_QUERY_CAPABILITIES IOCTL (hpmi.h)

[Certaines informations concernent le produit préversion qui peut être sensiblement modifié avant sa publication commerciale. Microsoft n’offre aucune garantie, expresse ou implicite, en ce qui concerne les informations fournies ici.]

La commande IOCTL_HPMI_QUERY_CAPABILITIES est envoyée aux fonctionnalités de requête prises en charge par les services HPMI et Windows demandés par HPMI. Windows émet cette bibliothèque IOCL vers HPMI une fois qu’une nouvelle instance de pilote HPMI est découverte.

informations préliminaires importantes
 

Code principal

IRP_MJ_DEVICE_CONTROL

Mémoire tampon d’entrée

Le membre AssociatedIrp.SystemBuffer du paquet de requête d’E/S 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. Lors de l’entrée, cette mémoire tampon contient une structure HPMI_QUERY_CAPABILITIES dans laquelle la version est définie sur une valeur valide.

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

Le membre Parameters.DeviceIoControl.InputBufferLength de l’emplacement actuel de la pile d’E/S d’IRP (IO_STACK_LOCATION) est défini sur la taille en octets de la mémoire tampon pointée par le membre AssociatedIrp.SystemBuffer. Cette taille doit être supérieure ou égale à la structure de HPMI_QUERY_CAPABILITIES, ou la demande échoue avec un état d’erreur de STATUS_INVALID_PARAMETER.

Mémoire tampon de sortie

Si la requête se termine correctement, la mémoire tampon pointée par le membre AssociatedIrp.SystemBuffer contient les informations de capacité HPMI demandées. Situé au début de cette mémoire tampon est une structure HPMI_QUERY_CAPABILITIES_RESPONSE qui indique le type et la taille des informations dans la mémoire tampon.

Longueur de la mémoire tampon de sortie

Le membre Parameters.DeviceIoControl.OutputBufferLength de l’emplacement actuel de la pile d’E/S IRP est défini sur la taille en octets de la mémoire tampon pointée par le membre AssociatedIrp.SystemBuffer. Pour que la demande réussisse, cette taille doit être suffisamment grande pour contenir la fonctionnalité HPMI décrite dans HPMI_QUERY_CAPABILITIES_RESPONSE. Sinon, la demande échoue avec l’état d’erreur STATUS_BUFFER_TOO_SMALL.

Mémoire tampon d’entrée/sortie

TBD

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

TBD

Bloc d’état

> IoStatus.Status est défini sur STATUS_SUCCESS si la requête réussit. Sinon, 'état à la condition d’erreur appropriée en tant que code NTSTATUS, par exemple STATUS_INVALID_PARAMETER.

Remarques

La requête IOCTL_HPMI_QUERY_CAPABILITIES interroge les fonctionnalités HPMI ou les informations sur les ressources du compteur d’alimentation. La valeur de structure d’entrée HPMI_QUERY_CAPABILITIES spécifie le type d’informations de capacité à retourner. Le type de données et le contenu de la mémoire tampon de sortie varient en fonction des données demandées.

Ce IOCTL peut être émis plusieurs fois, HPMI doit répondre avec le même
informations dans HPMI_QUERY_CAPABILITIES_RESPONSE, en réponse à tous
appels IOCTL suivants.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows 10, version 1709 et versions ultérieures des systèmes d’exploitation Windows.
d’en-tête hpmi.h (include Hpmi.h)

Voir aussi

création de requêtes IOCTL dans les pilotes

IRP

WdfIoTargetSendInternalIoctlOthersSynchronously

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously