Linee guida per la progettazione dei driver PnP
Plug and Play fornisce:
Riconoscimento automatico e dinamico dell'hardware installato
Allocazione delle risorse hardware (e reallocation)
Caricamento dei driver appropriati
Interfaccia per consentire ai driver di interagire con il sistema PnP
Meccanismi per i driver e le applicazioni per apprendere le modifiche nell'ambiente hardware
Per supportare PnP, un driver deve seguire queste linee guida:
Deve contenere una routine DispatchPnP .
Questa routine di invio deve gestire le richieste di IRP_MJ_PNP e i codici di funzione secondari associati. Per altre informazioni, vedere Routine DispatchPnP.
Non deve cercare hardware.
Il gestore PnP è responsabile della determinazione della presenza di dispositivi hardware. Quando il gestore PnP rileva un dispositivo, notifica al driver chiamando la routine AddDevice . L'hardware può essere rilevato quando il sistema viene avviato o qualsiasi volta che un utente aggiunge un dispositivo a o rimuove uno da un sistema in esecuzione.
Non deve allocare risorse hardware.
Un driver PnP deve fornire al gestore PnP elenchi di risorse che un dispositivo può potenzialmente usare. Il gestore PnP è responsabile dell'assegnazione delle risorse a ogni dispositivo e della notifica al driver delle assegnazioni di ogni dispositivo quando invia una richiesta di IRP_MN_START_DEVICE . Il driver deve quindi essere in grado di lavorare con varie configurazioni di risorse hardware.
Alcuni driver sono isolati dai dettagli del PnP e della gestione della potenza da porta o driver di classe forniti dal sistema. Ad esempio, un driver di porta SCSI isola un driver miniport SCSI da molti dei dettagli dei sistemi power e PnP, quindi un driver miniport SCSI non deve gestire direttamente l'alimentazione e i IRP PnP. Per tali driver, vedere la documentazione specifica del driver per informazioni dettagliate sul supporto PnP richiesto.