BatteryClassIoctl 函式 (batclass.h)
BatteryClassIoctl 會處理系統定義的電池 IOCTL。
語法
NTSTATUS BATTERYCLASSAPI BatteryClassIoctl(
[in] PVOID ClassData,
[in, out] PIRP Irp
);
參數
[in] ClassData
BatteryClassInitializeDevice 先前傳回的電池類別句柄指標。
[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 要求呼叫 miniclass 驅動程式時,它應該判斷 IRP 是否包含 miniclass 驅動程式所定義的任何私人 IOCTL。 如果是,迷你類別驅動程式應該滿足要求、完成 IRP 並傳回。
如果 IRP 包含公用 IOCTL,驅動程式應該將 IRP 傳遞至類別驅動程式的 BatteryClassIoctl 例程。 此例程會檢查 IRP、判斷它是否適用於呼叫者的電池裝置,如果是的話,請呼叫適當的 BatteryMiniXxx 例程來執行要求的作業。
如果 BatteryClassIoctl 傳回 IRP 的STATUS_NOT_SUPPORTED,迷你類別驅動程式必須完成 IRP,或將它轉送到下一個較低的驅動程式。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | batclass.h (include Batclass.h) |
程式庫 | Battc.lib |