BatteryClassQueryWmiDataBlock-Funktion (batclass.h)
Die BatteryClassQueryWmiDataBlock-Routine wird von Akku-Miniklassentreibern innerhalb ihrer DpWmiQueryDataBlock-Routinen verwendet, damit der Akkuklassentreiber die WMI-Datenblockabfrageanforderungen verarbeiten kann, die er im Auftrag des Treibers verarbeitet.
Syntax
NTSTATUS BATTERYCLASSAPI BatteryClassQueryWmiDataBlock(
[in] PVOID ClassData,
[in, out] PDEVICE_OBJECT DeviceObject,
[in, out] PIRP Irp,
[in] ULONG GuidIndex,
[out] PULONG InstanceLengthArray,
[in] ULONG OutBufferSize,
[out, optional] PUCHAR Buffer
);
Parameter
[in] ClassData
Zeiger auf ein Batterieklassenhandle, das zuvor von BatteryClassInitializeDevice empfangen wurde.
[in, out] DeviceObject
Zeiger auf das Geräteobjekt des Treibers. Der Akku-Miniklassentreiber sollte den empfangenen übereinstimmenden Parameter als Eingabe an seine DpWmiQueryDataBlock-Routine übergeben.
[in, out] Irp
Zeiger auf die WMI-Abfragedatenblockanforderung. Der Akku-Miniklassentreiber sollte den empfangenen übereinstimmenden Parameter als Eingabe an seine DpWmiQueryDataBlock-Routine übergeben.
[in] GuidIndex
Gibt die WMI-Klasse anhand ihres Indexes an. Der Akku-Miniklassentreiber sollte den empfangenen übereinstimmenden Parameter als Eingabe an seine DpWmiQueryDataBlock-Routine übergeben.
[out] InstanceLengthArray
Zeiger auf ein Array von ULONG-Werten, die die Länge der instance angeben, die zurückgegeben werden sollen. Der Akku-Miniklassentreiber sollte den empfangenen übereinstimmenden Parameter als Eingabe an seine DpWmiQueryDataBlock-Routine übergeben.
[in] OutBufferSize
Gibt die maximale Anzahl von Bytes an, die zum Empfangen von Daten in dem durch den Buffer-Parameter angegebenen Puffer verfügbar sind. Der Akku-Miniklassentreiber sollte den Wert des BufferAvail-Parameters , den er empfängt, als Eingabe an seine DpWmiQueryDataBlock-Routine übergeben.
[out, optional] Buffer
Zeiger auf den Puffer, um die instance Daten zu empfangen. Wenn der Puffer zu klein ist, um die Daten aufzunehmen, gibt BatteryClassQueryWmiDataBlock einen status Wert von STATUS_BUFFER_TOO_SMALL zurück. Der Akku-Miniklassentreiber sollte den empfangenen übereinstimmenden Parameter als Eingabe an seine DpWmiQueryDataBlock-Routine übergeben.
Rückgabewert
BatteryClassQueryWmiDataBlock gibt einen NT-status-Code zurück. Mögliche Rückgabewerte sind:
Rückgabecode | Beschreibung |
---|---|
|
Der Akkuklassentreiber hat die Anforderung erfolgreich verarbeitet. |
|
Der Akkuklassentreiber kann die Anforderung nicht verarbeiten, da der durch den Buffer-Parameter angegebene Puffer zu klein ist. |
|
Der Akkuklassentreiber verarbeitet diese WMI-Klasse nicht. |
Hinweise
Standardmäßig sollte ein Akku-Miniklassentreiber BatteryClassQueryWmiDataBlock in seiner DpWmiQueryDataBlock-Routine aufrufen, bevor die Anforderung verarbeitet wird. Der Miniklassentreiber sollte die empfangenen Parameter als Eingabe an seine DpWmiQueryDataBlock-Routine übergeben. Wenn der Akkuklassentreiber eine andere status als STATUS_WMI_GUID_NOT_FOUND zurückgibt, hat die Routine die Anforderung im Namen des Miniklassentreibers verarbeitet. In diesem Fall hat der Klassentreiber bereits WmiCompleteRequest aufgerufen, und der Miniklassentreiber darf ihn nicht erneut aufrufen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Desktop |
Kopfzeile | batclass.h (einschließlich Batclass.h) |
Bibliothek | Battc.lib |