BatteryClassIoctl 函数 (batclass.h)

BatteryClassIoctl 处理系统定义的电池 IOCTL。

语法

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

参数

[in] ClassData

指向以前由 BatteryClassInitializeDevice 返回的 battery 类句柄的指针。

[in, out] Irp

指向包含要处理的 IOCTL 的 IRP 的指针。

返回值

BatteryClassIoctl 在满足请求并完成 IRP 时返回STATUS_SUCCESS。 它返回指定电池 IOCTL 的设备控制 IRP 以外的所有 IRP 的STATUS_NOT_SUPPORTED。

注解

BatteryClassIoctl 处理并完成用于电池的设备控制 IRP。 此类 IRP 具有以下 I/O 控制代码之一:

  • IOCTL_BATTERY_QUERY_INFORMATION
  • IOCTL_BATTERY_QUERY_STATUS
  • IOCTL_BATTERY_QUERY_TAG
  • IOCTL_BATTERY_SET_INFORMATION
标准电池 IOCTL 对应于 电池微型类驱动程序例程 (BatteryMiniXxx 例程) 。

当使用 IRP_MJ_DEVICE_CONTROL 请求调用微类驱动程序时,它应确定 IRP 是否包含由微类驱动程序定义的任何专用 IOCTL。 如果是这样,微型类驱动程序应满足请求,完成 IRP 并返回。

如果 IRP 包含公共 IOCTL,则驱动程序应将 IRP 传递到类驱动程序的 BatteryClassIoctl 例程。 此例程检查 IRP,确定它是否适用于调用方电池设备,如果是,则调用相应的 BatteryMiniXxx 例程来执行请求的操作。

如果 BatteryClassIoctl 返回 IRP 的STATUS_NOT_SUPPORTED,则微型类驱动程序必须完成 IRP 或将其转发到下一个较低的驱动程序。

要求

要求
目标平台 桌面
标头 batclass.h (包括 Batclass.h)
Library Battc.lib

另请参阅

BatteryMiniQueryInformation

BatteryMiniQueryStatus

BatteryMiniQueryTag

BatteryMiniSetInformation