Driver de miniclasse de bateria: rotina DriverEntry
A rotina DriverEntry inicializa o driver de miniclasse.
Pontos de entrada específicos do driver
A rotina DriverEntry do driver de miniclasse configura os seguintes pontos de entrada específicos do driver:
- A rotina Unload em DriverObject-DriverUnload>
- A rotina AddDevice do driver em DriverObject-DriverExtension-AddDevice >>
- A função de retorno de chamada DRIVER_DISPATCH em DriverObject-MajorFunction>[IRP_MJ_POWER]
- A função de retorno de chamada DRIVER_DISPATCH em DriverObject-MajorFunction>[IRP_MJ_PNP]
- A função de retorno de chamada DRIVER_DISPATCH em DriverObject-MajorFunction>[IRP_MJ_CREATE]
- A função de retorno de chamada DRIVER_DISPATCH em DriverObject-MajorFunction>[IRP_MJ_CLOSE]
- A função de retorno de chamada DRIVER_DISPATCH em DriverObject-MajorFunction>[IRP_MJ_DEVICE_CONTROL]
- A função de retorno de chamada DRIVER_DISPATCH em DriverObject-MajorFunction>[IRP_MJ_SYSTEM_CONTROL].
Aqui está um código de exemplo que inicializa esses pontos de entrada para um driver de miniclasse NewBatt hipotético:
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;
Como as informações de estado específicas da bateria são desconhecidas até que o Gerenciador PnP chame a rotina AddDevice do driver de miniclasse, a rotina DriverEntry não inicializa esse estado. A inicialização específica do dispositivo é executada na rotina AddDevice .
Requisitos adicionais específicos da rotina
Para obter mais informações sobre requisitos específicos de rotina, consulte os seguintes tópicos:
- Rotina AddDevice para drivers de miniclasse de bateria
- Rotina DispatchDeviceControl do driver de miniclasse de bateria
- Rotina DispatchSystemControl de um driver de miniclasse de bateria
- Descarregar a rotina de um driver de miniclasse de bateria
- DispatchPower
- DispatchPnP
- DRIVER_DISPATCH
- DispatchClose