IOCTL_HPMI_QUERY_CAPABILITIES IOCTL (hpmi.h)
[Einige Informationen beziehen sich auf die Vorabversion, die vor der kommerziellen Freigabe möglicherweise wesentlichen Änderungen unterliegt. Microsoft übernimmt für die hier bereitgestellten Informationen keine Gewährleistung, weder ausdrücklicher noch impliziter Art.]
Der Befehl IOCTL_HPMI_QUERY_CAPABILITIES wird an Abfragefeatures gesendet, die von HPMI- und Windows-Diensten unterstützt werden, die von HPMI angefordert werden. Windows gibt diese IOCL einmal an HPMI aus, nachdem ein neuer HPMI-Treiber instance erkannt wurde.
Hauptcode
Eingabepuffer
Der AssociatedIrp.SystemBuffer-Member des E/A-Anforderungspakets (IRP) verweist auf einen vom Initiator zugewiesenen Puffer, der sowohl als Eingabepuffer als auch als Ausgabepuffer für die Anforderung verwendet wird. Bei der Eingabe enthält dieser Puffer eine HPMI_QUERY_CAPABILITIES-Struktur , in der die Version auf einen gültigen Wert festgelegt ist.
Länge des Eingabepuffers
Der Parameters.DeviceIoControl.InputBufferLength-Member des aktuellen I/O-Stapelspeicherorts (IO_STACK_LOCATION) des IRP wird auf die Größe in Byte des Puffers festgelegt, auf den vom AssociatedIrp.SystemBuffer-Member verwiesen wird. Diese Größe muss größer oder gleich der Größe HPMI_QUERY_CAPABILITIES Struktur sein, andernfalls schlägt die Anforderung mit einem Fehler status STATUS_INVALID_PARAMETER fehl.
Ausgabepuffer
Wenn die Anforderung erfolgreich abgeschlossen wird, enthält der Puffer, auf den der AssociatedIrp.SystemBuffer-Member verweist, die angeforderten HPMI-Funktionsinformationen. Am Anfang dieses Puffers befindet sich eine HPMI_QUERY_CAPABILITIES_RESPONSE Struktur, die den Typ und die Größe der Informationen im Puffer angibt.
Länge des Ausgabepuffers
Das Parameters.DeviceIoControl.OutputBufferLength-Element des aktuellen I/O-Stapelspeicherorts des IRP wird auf die Größe in Bytes des Puffers festgelegt, auf den der AssociatedIrp.SystemBuffer-Member verweist. Damit die Anforderung erfolgreich ist, muss diese Größe groß genug sein, um die in HPMI_QUERY_CAPABILITIES_RESPONSE beschriebene HPMI-Funktion zu enthalten. Andernfalls schlägt die Anforderung mit einem Fehler status STATUS_BUFFER_TOO_SMALL fehl.
Eingabe-/Ausgabepuffer
TBD
Länge des Eingabe-/Ausgabepuffers
TBD
Statusblock
Irp->IoStatus.Status wird auf STATUS_SUCCESS festgelegt, wenn die Anforderung erfolgreich ist. Andernfalls wird der Status für die entsprechende Fehlerbedingung als NTSTATUS-Code verwendet, z. B. STATUS_INVALID_PARAMETER.
Hinweise
Die IOCTL_HPMI_QUERY_CAPABILITIES Anforderung fragt die HPMI-Funktionen oder Ressourceninformationen des Leistungszählers ab. Der Eingabe HPMI_QUERY_CAPABILITIES-Strukturwert gibt den Typ der zurückzugebenden Funktionsinformationen an. Der Datentyp und der Inhalt des Ausgabepuffers variieren je nach angeforderten Daten.
Diese IOCTL kann mehrmals ausgestellt werden, HPMI muss mit demselben antworten.
Informationen in HPMI_QUERY_CAPABILITIES_RESPONSE als Antwort auf alle
nachfolgende IOCTL-Aufrufe.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows 10 Version 1709 und höher der Windows-Betriebssysteme. |
Kopfzeile | hpmi.h (hpmi.h einschließen) |
Weitere Informationen
Erstellen von IOCTL-Anforderungen in Treibern
WdfIoTargetSendInternalIoctlOthersSynchronly