Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die IOCTL_PMI_GET_CAPABILITIES Anforderung ruft die Funktionen und Ressourceninformationen zu einem Stromzähler ab.
Hauptcode
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) |