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
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 |