Freigeben über


IOCTL_PMI_GET_CONFIGURATION IOCTL (pmi.h)

Die IOCTL_PMI_GET_CONFIGURATION Anforderung gibt Informationen zur aktuellen Konfiguration eines Stromzählers zurück.

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 PMI_CONFIGURATION Struktur, in der die Member Version und ConfigurationType auf gültige Werte festgelegt sind. Das ConfigurationType-Element enthält einen PMI_CONFIGURATION_TYPE Enumerationswert, der den Typ der Konfigurationsinformationen angibt, die vom Power Meter abgerufen werden sollen. Dieser Wert bestimmt auch den Typ der Konfigurationsinformationen, die in den Ausgabepuffer geschrieben werden sollen.

Eingabepufferlänge

Das Parameters.DeviceIoControl.InputBufferLength-Element des aktuellen IRP-Stapelspeicherorts (IO_STACK_LOCATION) wird auf die Größe in Bytes des Puffers festgelegt, auf den der AssociatedIrp.SystemBuffer-Member verweist. Diese Größe muss größer oder gleich sizeof(PMI_CONFIGURATION) sein, andernfalls schlägt die Anforderung mit einem Fehler status STATUS_INVALID_PARAMETER fehl.

Ausgabepuffer

Wenn die Anforderung erfolgreich abgeschlossen wurde, enthält der Puffer, auf den das AssociatedIrp.SystemBuffer-Element verweist, eine PMI_CONFIGURATION-Struktur . Diese Struktur enthält die angeforderten Konfigurationsinformationen.

Länge des Ausgabepuffers

Das Parameters.DeviceIoControl.OutputBufferLength-Member des aktuellen E/A-Stapelspeicherorts des IRP wird auf die Größe in Bytes des Puffers festgelegt, auf den vom AssociatedIrp.SystemBuffer-Member verwiesen wird. Damit die Anforderung erfolgreich ist, muss diese Größe größer oder gleich sizeof(PMI_CONFIGURATION) sein. Andernfalls schlägt die Anforderung mit einem Fehler status STATUS_BUFFER_TOO_SMALL fehl.

Statusblock

Das Element Information ist auf die Größe einer PMI_CONFIGURATION-Struktur in Bytes festgelegt.

Der Statusmember ist auf einen der folgenden Werte festgelegt:

STATUS_BUFFER_TOO_SMALL

Das Parameters.DeviceIoControl.OutputBufferLength-Element des IRP ist kleiner als die Größe einer PMI_CONFIGURATION-Struktur in Bytes.

STATUS_INVALID_PARAMETER

Der vom Initiator zugewiesene Eingabepuffer enthält einen ungültigen PMI_CONFIGURATION_TYPE Wert.

STATUS_SUCCESS

Der WDM-Treiber, der die PMI-Schnittstelle unterstützt, hat die IOCTL-Anforderung erfolgreich abgeschlossen.

Hinweise

Die IOCTL_PMI_GET_CONFIGURATION Anforderung fragt die aktuelle Konfiguration des Leistungsmessgeräts ab. Der Eingabe PMI_CONFIGURATION_TYPE Enumerationswerts gibt den Typ der zurückzugebenden Konfigurationsdaten an. Der Datentyp und der Inhalt des Ausgabepuffers variieren je nach den angeforderten Daten.

In der folgenden Tabelle wird der Typ der Daten beschrieben, die für den angegebenen PMI_CONFIGURATION_TYPE Enumerationswert zurückgegeben werden.

PMI_CONFIGURATION_TYPE Wert BESCHREIBUNG
PmiBudgetingConfiguration Eine PMI_BUDGETING_CONFIGURATION Struktur, die Informationen zur Budgetierungskonfiguration des Leistungsmessgeräts enthält.
PmiMeasurementConfiguration Eine PMI_MEASUREMENT_CONFIGURATION-Struktur , die Informationen zur Messkonfiguration des Leistungsmessgeräts enthält.
PmiThresholdConfiguration Eine PMI_THRESHOLD_CONFIGURATION-Struktur , die Informationen zur Schwellenwertkonfiguration des Leistungsmessgeräts enthält.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Windows 7, Windows Server 2008 R2 und höheren Versionen der Windows-Betriebssysteme.
Kopfzeile pmi.h (include Pmi.h)

Weitere Informationen

IOCTL_PMI_GET_CAPABILITIES

IO_STACK_LOCATION

IRP

PMI_BUDGETING_CONFIGURATION

PMI_CAPABILITIES_TYPE

PMI_CONFIGURATION

PMI_CONFIGURATION_TYPE

PMI_MEASUREMENT_CONFIGURATION

PMI_THRESHOLD_CONFIGURATION