IOCTL_HPMI_QUERY_CAPABILITIES IOCTL (hpmi.h)
[Certaines informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft ne donne aucune garantie, expresse ou implicite, concernant 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 émettra ce IOCL vers HPMI une fois qu’un nouveau pilote HPMI instance est découvert.
Code principal
Mémoire tampon d'entrée
Le membre AssociatedIrp.SystemBuffer du paquet de demandes 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. 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 de l’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 taille de HPMI_QUERY_CAPABILITIES structure, sinon la demande échoue avec une erreur status de STATUS_INVALID_PARAMETER.
Mémoire tampon de sortie
Si la requête se termine correctement, la mémoire tampon vers laquelle pointe le membre AssociatedIrp.SystemBuffer contient les informations de capacité HPMI demandées. Situé au début de cette mémoire tampon se trouve 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 de l’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 aboutisse, cette taille doit être suffisamment grande pour contenir la fonctionnalité HPMI décrite dans HPMI_QUERY_CAPABILITIES_RESPONSE. Sinon, la demande échoue avec une erreur status 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
Irp->IoStatus.Status est défini sur STATUS_SUCCESS si la demande 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 de puissance. 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 la même
informations dans HPMI_QUERY_CAPABILITIES_RESPONSE, en réponse à tous les
appels IOCTL suivants.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Disponible dans Windows 10, version 1709 et versions ultérieures des systèmes d’exploitation Windows. |
En-tête | hpmi.h (inclure Hpmi.h) |
Voir aussi
Création de requêtes IOCTL dans les pilotes
WdfIoTargetSendInternalIoctlOthersSynchronously