BatteryClassInitializeDevice 函式 (batclass.h)
BatteryClassInitializeDevice 例程會初始化類別驅動程式的新電池裝置。
語法
NTSTATUS BATTERYCLASSAPI BatteryClassInitializeDevice(
[in] PBATTERY_MINIPORT_INFO MiniportInfo,
[out] PVOID *ClassData
);
參數
[in] MiniportInfo
BATTERY_MINIPORT_INFO 結構的指標。
[out] ClassData
BatteryClassInitializeDevice 傳回句柄的位置指標,用於後續對 BatteryMiniXxx 例程的呼叫。
傳回值
BatteryClassInitializeDevice 會 傳回STATUS_SUCCESS,或者,如果沒有足夠的記憶體可用來儲存電池迷你類別數據,STATUS_INSUFFICIENT_RESOURCES。
備註
電池迷你類別驅動程式必須呼叫 BatteryClassInitializeDevice 來註冊每個電池裝置,並將裝置和迷你類別驅動程式的相關數據傳遞至電池類別驅動程式。
此例程應呼叫為裝置初始化的一部分,通常是來自迷你類別驅動程式的 AddDevice 例程。
BATTERY_MINIPORT_INFO結構的內容成員會指向類別和迷你類別驅動程式維護電池裝置及其驅動程式相關信息的區域。 內容區域通常包含 FDO 的可分頁裝置擴充功能,也可以視驅動程式寫入器包含其他資訊。
類別驅動程式會將指標傳遞給內容區域,以呼叫 電池迷你類別驅動程式例程 , (BatteryMiniXxx 例程) 。 在其 BatteryMiniXxx 例程中,迷你類別驅動程式應該透過傳入的指標讀取和寫入裝置延伸模組數據。
迷你類別驅動程式必須使用 BATTERY_MINIPORT_INFO 結構來提供所有 BatteryMiniXxx 例程的進入點。
如果 BatteryClassInitializeDevice 成功初始化電池裝置,則呼叫端會負責呼叫 BatteryClassUnload 函式,以在不再使用電池裝置時釋出電池裝置的資源。
規格需求
需求 | 值 |
---|---|
目標平台 | 桌面 |
標頭 | batclass.h (包括 Batclass.h) |
程式庫 | 一文.lib |