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.
Code principal
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
WdfIoTargetSendInternalIoctlOthersSynchronously