Condividi tramite


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.