Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Un driver della classe di archiviazione esegue l'inizializzazione specifica del dispositivo quando il gestore PnP chiama la routine DispatchPnP del driver di classe con una richiesta di avvio (IRP_MJ_PNP con IRP_MN_START_DEVICE). La routine DispatchPnP del driver della classe di archiviazione chiama una routine StartDevice interna o implementa la stessa funzionalità inline. Poiché le richieste di avvio inviate a un FDO devono essere gestite prima dal driver più basso nello stack, la routine DispatchPnP del driver della classe di archiviazione inoltra la richiesta al driver inferiore successivo con IoCallDriver prima di chiamare StartDevice. Se la richiesta è stata inviata a un PDO, il driver non deve inoltrare la richiesta prima di gestirla.
La routine StartDevice interna di un driver della classe di archiviazione configura l'estensione del dispositivo del relativo FDO con dati determinati dal driver per gestire le richieste di I/O per il dispositivo. Per altre informazioni, vedere Configurazione dell'estensione del dispositivo di un driver di classe di archiviazione.
Una routine StartDevice deve abilitare qualsiasi interfaccia del dispositivo registrata dal driver nella routine AddDevice . Vedere Classi dell'interfaccia del dispositivo. Potrebbe anche creare un collegamento simbolico per il relativo oggetto dispositivo.
Al termine dell'avvio del dispositivo inferiore, il driver può presupporre che il dispositivo si trova nello stato di alimentazione D0 (completamente attivo e operativo) per la maggior parte degli scopi. Se il dispositivo non è completamente alimentato, il driver di porta accoderà le richieste fino a quando il dispositivo sarà pronto. Tuttavia, se la routine StartDevice del driver deve eseguire tutte le operazioni che richiedono l'inrush corrente, ad esempio per attivare un'unità disco, il driver deve inviare una richiesta di alimentazione D0 al driver successivo inferiore prima di eseguire l'operazione.
Un driver di un dispositivo di tipo FILE_DEVICE_DISK o FILE_DEVICE_MASS_STORAGE può registrarsi per il rilevamento dello stato inattivo e utilizzare i timeout standard dei criteri di risparmio energetico per la classe di dispositivi specificando i valori di timeout di conservazione e di prestazioni di -1 nella chiamata PoRegisterDeviceforIdleDetection.
Per altre informazioni sulla routine DispatchPnP di un driver della classe di archiviazione, vedere Gestione delle richieste PnP alle periferiche di archiviazione. Per altre informazioni sulla gestione delle richieste di avvio PnP, vedere Avvio di un dispositivo.