Driver miniclasse batteria: Routine DriverEntry
La routine DriverEntry inizializza il driver miniclasse.
Punti di ingresso specifici del driver
La routine DriverEntry del driver miniclasse configura i punti di ingresso specifici del driver seguenti:
- Routine di scaricamento in DriverObject-DriverUnload>
- Routine AddDevice del driver in DriverObject-DriverExtension-AddDevice>>
- Funzione di callback DRIVER_DISPATCH in DriverObject-MajorFunction>[IRP_MJ_POWER]
- Funzione di callback DRIVER_DISPATCH in DriverObject-MajorFunction>[IRP_MJ_PNP]
- Funzione di callback DRIVER_DISPATCH in DriverObject-MajorFunction>[IRP_MJ_CREATE]
- Funzione di callback DRIVER_DISPATCH in DriverObject-MajorFunction>[IRP_MJ_CLOSE]
- Funzione di callback DRIVER_DISPATCH in DriverObject-MajorFunction>[IRP_MJ_DEVICE_CONTROL]
- Funzione di callback DRIVER_DISPATCH in DriverObject-MajorFunction>[IRP_MJ_SYSTEM_CONTROL].
Ecco un codice di esempio che inizializza questi punti di ingresso per un driver miniclasse NewBatt ipotetico:
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;
Poiché le informazioni sullo stato specifiche della batteria non sono sconosciute fino a quando PnP Manager chiama la routine AddDevice del driver miniclasse, la routine DriverEntry non inizializza alcuno stato. L'inizializzazione specifica del dispositivo viene eseguita nella routine AddDevice .
Requisiti specifici della routine aggiuntivi
Per altre informazioni sui requisiti specifici della routine, vedere gli argomenti seguenti: