Поделиться через


Драйвер мини-класса батареи: DriverEntry подпрограмма

Подпрограмма DriverEntry инициализирует драйвер мини-класса.

Точки входа для конкретного драйвера

Подпрограмма DriverEntry драйвера мини-класса настраивает следующие точки входа для конкретного драйвера:

Ниже приведен пример кода, который инициализирует эти точки входа для гипотетического драйвера мини-класса NewBatt:

DriverObject->DriverUnload = NewBattUnload;
DriverObject->DriverExtension->AddDevice = NewBattAddDevice; 
DriverObject->MajorFunction[IRP_MJ_DEVICE_CONTROL] = NewBattDispatchDeviceControl;
DriverObject->MajorFunction[IRP_MJ_CREATE] = NewBattDispatchCreate;
DriverObject->MajorFunction[IRP_MJ_CLOSE] = NewBattDispatchClose;
DriverObject->MajorFunction[IRP_MJ_PNP] = NewBattDispatchPnp;
DriverObject->MajorFunction[IRP_MJ_POWER] = NewBattDispatchPower;
DriverObject->MajorFunction[IRP_MJ_SYSTEM_CONTROL] = NewBattSystemControl;

Так как сведения о состоянии батареи неизвестны до тех пор, пока диспетчер PnP не вызовет подпрограмму AddDevice драйвера мини-класса, подпрограмма DriverEntry не инициализирует такое состояние. Инициализация для конкретного устройства выполняется в процедуре AddDevice .

Дополнительные требования, относящиеся к подпрограмме

Дополнительные сведения о стандартных требованиях см. в следующих разделах: