Freigeben über


BatteryClassIoctl-Funktion (batclass.h)

BatteryClassIoctl verarbeitet systemdefinierte Akku-IOCTLs.

Syntax

NTSTATUS BATTERYCLASSAPI BatteryClassIoctl(
  [in]      PVOID ClassData,
  [in, out] PIRP  Irp
);

Parameter

[in] ClassData

Zeiger auf ein Batterieklassenhandle, das zuvor von BatteryClassInitializeDevice zurückgegeben wurde.

[in, out] Irp

Zeiger auf die IRP, die die zu behandelnde IOCTL enthält.

Rückgabewert

BatteryClassIoctl gibt STATUS_SUCCESS zurück, wenn die Anforderung erfüllt und die IRP abgeschlossen wird. Es gibt STATUS_NOT_SUPPORTED für alle IRPs mit Ausnahme von Gerätesteuerungs-IRPs zurück, die Akku-IOCTLs angeben.

Hinweise

BatteryClassIoctl verarbeitet und schließt GERÄTEsteuerungs-IRPs ab, die für den Akku vorgesehen sind. Solche IRPs verfügen über einen der folgenden E/A-Steuerungscodes:

  • IOCTL_BATTERY_QUERY_INFORMATION
  • IOCTL_BATTERY_QUERY_STATUS
  • IOCTL_BATTERY_QUERY_TAG
  • IOCTL_BATTERY_SET_INFORMATION
Die Standard-Akku-IOCTLs entsprechen Akku-Miniklassen-Treiberroutinen (BatteryMiniXxx-Routinen ).

Wenn der Miniklassentreiber mit einer IRP_MJ_DEVICE_CONTROL-Anforderung aufgerufen wird, sollte ermittelt werden, ob der IRP eine vom Miniklassentreiber definierte private IOCTL enthält. Wenn ja, sollte der Miniklassentreiber die Anforderung erfüllen, die IRP abschließen und zurückgeben.

Wenn das IRP eine öffentliche IOCTL enthält, sollte der Treiber die IRP an die BatteryClassIoctl-Routine des Klassentreibers übergeben. Diese Routine untersucht die IRP, bestimmt, ob sie für das Akkugerät des Aufrufers gilt, und ruft in diesem Fall die entsprechende BatteryMiniXxx-Routine auf, um den angeforderten Vorgang auszuführen.

Wenn BatteryClassIoctl STATUS_NOT_SUPPORTED für die IRP zurückgibt, muss der Miniklassentreiber entweder die IRP abschließen oder an den nächstniedrigen Treiber weiterleiten.

Anforderungen

Anforderung Wert
Zielplattform Desktop
Kopfzeile batclass.h (einschließlich Batclass.h)
Bibliothek Battc.lib

Weitere Informationen

BatteryMiniQueryInformation

BatteryMiniQueryStatus

BatteryMiniQueryTag

BatteryMiniSetInformation