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 구조체의 Context 멤버는 클래스 및 미니클래스 드라이버가 배터리 디바이스 및 해당 드라이버에 대한 정보를 유지하는 영역을 가리킵니다. 컨텍스트 영역에는 일반적으로 FDO의 페이지 가능한 디바이스 확장이 포함되며 드라이버 작성기의 재량에 따라 다른 정보를 포함할 수도 있습니다.
클래스 드라이버는 배터리 미니클래스 드라이버 루틴 (BatteryMiniXxx 루틴)에 대한 호출에서 컨텍스트 영역에 대한 포인터를 전달합니다. BatteryMiniXxx 루틴에서 미니클래스 드라이버는 전달된 포인터를 통해 디바이스 확장 데이터를 읽고 써야 합니다.
미니클래스 드라이버는 BATTERY_MINIPORT_INFO 구조를 사용하여 모든 BatteryMiniXxx 루틴에 대한 진입점을 제공해야 합니다.
BatteryClassInitializeDevice가 배터리 디바이스를 성공적으로 초기화하면 호출자는 BatteryClassUnload 함수를 호출하여 더 이상 사용하지 않을 때 배터리 디바이스에 대한 리소스를 해제해야 합니다.
요구 사항
| 요구 사항 | 값 |
|---|---|
| 대상 플랫폼 | 데스크톱 |
| 머리글 | batclass.h(Batclass.h 포함) |
| 라이브러리 | Battc.lib |