NTAPI
BatteryClassUnload(PVOID ClassData)
{
- PBATTERY_CLASS_DATA BattClass = ClassData;
+ PBATTERY_CLASS_DATA BattClass;
- DPRINT("Battery 0x%x is being unloaded\n");
+ DPRINT("Battery %p is being unloaded\n", ClassData);
+ BattClass = ClassData;
if (BattClass->InterfaceName.Length != 0)
{
IoSetDeviceInterfaceState(&BattClass->InterfaceName, FALSE);
NTAPI
BatteryClassStatusNotify(PVOID ClassData)
{
- PBATTERY_CLASS_DATA BattClass = ClassData;
- PBATTERY_WAIT_STATUS BattWait = BattClass->EventTriggerContext;
+ PBATTERY_CLASS_DATA BattClass;
+ PBATTERY_WAIT_STATUS BattWait;
BATTERY_STATUS BattStatus;
NTSTATUS Status;
- DPRINT("Received battery status notification from 0x%x\n", ClassData);
+ DPRINT("Received battery status notification from %p\n", ClassData);
+
+ BattClass = ClassData;
+ BattWait = BattClass->EventTriggerContext;
ExAcquireFastMutex(&BattClass->Mutex);
if (!BattClass->Waiting)
PVOID *ClassData)
{
NTSTATUS Status;
- PBATTERY_CLASS_DATA BattClass = ExAllocatePoolWithTag(NonPagedPool,
- sizeof(BATTERY_CLASS_DATA),
- BATTERY_CLASS_DATA_TAG);
+ PBATTERY_CLASS_DATA BattClass;
- if (!BattClass)
+ BattClass = ExAllocatePoolWithTag(NonPagedPool,
+ sizeof(BATTERY_CLASS_DATA),
+ BATTERY_CLASS_DATA_TAG);
+ if (BattClass == NULL)
return STATUS_INSUFFICIENT_RESOURCES;
RtlZeroMemory(BattClass, sizeof(BATTERY_CLASS_DATA));
BatteryClassIoctl(PVOID ClassData,
PIRP Irp)
{
- PBATTERY_CLASS_DATA BattClass = ClassData;
- PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp);
+ PBATTERY_CLASS_DATA BattClass;
+ PIO_STACK_LOCATION IrpSp;
NTSTATUS Status;
ULONG WaitTime;
PBATTERY_WAIT_STATUS BattWait;
BATTERY_NOTIFY BattNotify;
ULONG ReturnedLength;
- Irp->IoStatus.Information = 0;
-
- DPRINT("Received IOCTL %x for 0x%x\n", IrpSp->Parameters.DeviceIoControl.IoControlCode,
+ DPRINT("Received IOCTL %x for %p\n", IrpSp->Parameters.DeviceIoControl.IoControlCode,
ClassData);
+ BattClass = ClassData;
+ IrpSp = IoGetCurrentIrpStackLocation(Irp);
+ Irp->IoStatus.Information = 0;
+
switch (IrpSp->Parameters.DeviceIoControl.IoControlCode)
{
case IOCTL_BATTERY_QUERY_TAG:
}
}
else
+ {
Irp->IoStatus.Information = sizeof(ULONG);
+ }
break;
case IOCTL_BATTERY_QUERY_STATUS:
}
}
else
+ {
Irp->IoStatus.Information = sizeof(BATTERY_STATUS);
+ }
break;
case IOCTL_BATTERY_QUERY_INFORMATION:
&ReturnedLength);
Irp->IoStatus.Information = ReturnedLength;
if (!NT_SUCCESS(Status))
+ {
DPRINT1("QueryInformation failed (0x%x)\n", Status);
+ }
break;
case IOCTL_BATTERY_SET_INFORMATION:
BattSetInfo->InformationLevel,
BattSetInfo->Buffer);
if (!NT_SUCCESS(Status))
+ {
DPRINT1("SetInformation failed (0x%x)\n", Status);
+ }
break;
default: