Freigeben über


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.

Wichtig Vorläufige Informationen
 

Hauptcode

IRP_MJ_DEVICE_CONTROL

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

IRP

WdfIoTargetSendInternalIoctlOthersSynchronly

WdfIoTargetSendInternalIoctlSynchronously

WdfIoTargetSendIoctlSynchronously