Freigeben über


IOCTL_PMI_GET_CAPABILITIES IOCTL (pmi.h)

Die IOCTL_PMI_GET_CAPABILITIES Anforderung ruft die Funktionen und Ressourceninformationen zu einem Stromzähler ab.

Hauptcode

IRP_MJ_DEVICE_CONTROL

Eingabepuffer

Der AssociatedIrp.SystemBuffer Member des I/O-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_CAPABILITIES Struktur, in der die Version und CapabilityType- elemente auf gültige Werte festgelegt sind. Der CapabilitiesType Member enthält einen PMI_CAPABILITIES_TYPE Enumerationswert, der den Typ der PMI-Funktionsinformationen angibt, die aus dem Leistungszähler abgerufen werden sollen. Dieser Wert bestimmt auch die Größe des Ausgabepuffers, der erforderlich ist, um diese Informationen zu enthalten.

Eingabepufferlänge

Die Parameters.DeviceIoControl.InputBufferLength Member der aktuellen I/O-Stapelposition (IO_STACK_LOCATION) des IRP wird auf die Größe in Byte des Puffers festgelegt, auf den der AssociatedIrp.SystemBuffer Member verweist. Diese Größe muss größer oder gleich Größe von(PMI_CAPABILITIES) sein, oder die Anforderung schlägt mit einem Fehlerstatus von STATUS_INVALID_PARAMETER fehl.

Ausgabepuffer

Wenn die Anforderung erfolgreich abgeschlossen wird, enthält der Puffer, auf den der AssociatedIrp.SystemBuffer Member verweist, die angeforderten PMI-Funktionsinformationen. Am Anfang dieses Puffers befindet sich eine PMI_CAPABILITIES Struktur, die den Typ und die Größe der Informationen im Puffer angibt.

Länge des Ausgabepuffers

Die Parameters.DeviceIoControl.OutputBufferLength Mitglied des aktuellen I/O-Stapelspeicherorts des IRP wird auf die Größe in Byte des Puffers festgelegt, auf den der AssociatedIrp.SystemBuffer Member verweist. Damit die Anforderung erfolgreich ausgeführt werden kann, muss diese Größe groß genug sein, um die PMI-Funktionsinformationen zu enthalten, die durch den Wert des PMI_CAPABILITIES_TYPE Eingabeparameters angegeben sind. Andernfalls schlägt die Anforderung mit dem Fehlerstatus STATUS_BUFFER_TOO_SMALL fehl.

Statusblock

Der Information Members wird auf die Größe einer PMI_CAPABILITIES Struktur und der zugehörigen Daten mit variabler Länge festgelegt.

Der Status- Member ist auf einen der folgenden Werte festgelegt:

STATUS_BUFFER_TOO_SMALL

Der Parameters.DeviceIoControl.OutputBufferLength Member des IRP- ist kleiner als die Größe einer PMI_CAPABILITIES Struktur und der zugehörigen Daten mit variabler Länge.

STATUS_INVALID_PARAMETER

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

STATUS_SUCCESS

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

Bemerkungen

Die IOCTL_PMI_GET_CAPABILITIES Anforderung fragt die PMI-Funktionen oder Ressourceninformationen des Stromzählers ab. Der Eingabe-PMI_CAPABILITIES Enumerationswert gibt den Typ der Funktionsinformationen an, die zurückgegeben werden sollen. Der Datentyp und der Inhalt des Ausgabepuffers variieren je nach angeforderten Daten.

In der folgenden Tabelle wird der Datentyp beschrieben, der für den angegebenen PMI_CAPABILITIES_TYPE Enumerationswert zurückgegeben wird.

wert PMI_CAPABILITIES_TYPE Beschreibung
PmiMeteredHardware Eine PMI_METERED_HARDWARE_INFORMATION Struktur, die die Hardwaregeräte angibt, die vom Netzzähler überwacht werden.
PmiReportedCapabilities Eine PMI_REPORTED_CAPABILITIES Struktur, die die Typen von PMI-Funktionen angibt, die der Leistungszähler unterstützt.
Hinweis Die PMI_REPORTED_CAPABILITIES Struktur ist variabler Länge. Der Treiber muss diese IOCTL-Anforderung nicht ausführen, wenn der Ausgabepuffer (auf den vom MdlAddress Member des IRP verwiesen wird) zu klein ist.
 

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Verfügbar in Windows 7, Windows Server 2008 R2 und höheren Versionen von Windows-Betriebssystemen.
Header- pmi.h (include Pmi.h)

Siehe auch

IO_STACK_LOCATION

IRP-

PMI_CAPABILITIES

PMI_CAPABILITIES_TYPE

PMI_METERED_HARDWARE_INFORMATION

PMI_REPORTED_CAPABILITIES