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
当使用 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 |