Freigeben über


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
STATUS_SUCCESS
Der Akkuklassentreiber hat die Anforderung erfolgreich verarbeitet.
STATUS_BUFFER_TOO_SMALL
Der Akkuklassentreiber kann die Anforderung nicht verarbeiten, da der durch den Buffer-Parameter angegebene Puffer zu klein ist.
STATUS_WMI_GUID_NOT_FOUND
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

Weitere Informationen

BatteryClassSystemControl

DpWmiQueryDataBlock

WmiCompleteRequest