Pilote de miniclasse de batterie : routine DriverEntry
La routine DriverEntry initialise le pilote de miniclasse.
Points d’entrée spécifiques au pilote
La routine DriverEntry de la miniclasse configure les points d’entrée spécifiques au pilote suivants :
- Routine de déchargement dans DriverObject-DriverUnload>
- Routine AddDevice du pilote dans DriverObject-DriverExtension-AddDevice >>
- Fonction de rappel DRIVER_DISPATCH dans DriverObject-MajorFunction>[IRP_MJ_POWER]
- Fonction de rappel DRIVER_DISPATCH dans DriverObject-MajorFunction>[IRP_MJ_PNP]
- Fonction de rappel DRIVER_DISPATCH dans DriverObject-MajorFunction>[IRP_MJ_CREATE]
- Fonction de rappel DRIVER_DISPATCH dans DriverObject-MajorFunction>[IRP_MJ_CLOSE]
- Fonction de rappel DRIVER_DISPATCH dans DriverObject-MajorFunction>[IRP_MJ_DEVICE_CONTROL]
- Fonction de rappel DRIVER_DISPATCH dans DriverObject-MajorFunction>[IRP_MJ_SYSTEM_CONTROL].
Voici un exemple de code qui initialise ces points d’entrée pour un pilote de miniclasse NewBatt hypothétique :
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;
Étant donné que les informations d’état spécifiques à la batterie sont inconnues jusqu’à ce que le Gestionnaire PnP appelle la routine AddDevice du pilote miniclasse, la routine DriverEntry n’initialise aucun état de ce type. L’initialisation spécifique à l’appareil est effectuée dans la routine AddDevice .
Exigences supplémentaires spécifiques à la routine
Pour plus d’informations sur les exigences spécifiques à la routine, consultez les rubriques suivantes :