Componenti di un pacchetto driver
Un pacchetto driver include tutti i componenti software che è necessario fornire per assicurarsi che il dispositivo sia supportato con Windows. In genere, un pacchetto driver contiene i componenti seguenti:
File INF
File di catalogo
File dei driver
Altri file
Di seguito è riportata una breve descrizione di ogni componente di un pacchetto driver.
WdK include vari pacchetti di driver di esempio. Per altre informazioni, vedere File di installazione dei dispositivi di esempio
File INF
Ogni pacchetto driver deve includere un file INF, che i componenti di installazione del dispositivo leggono durante l'installazione del dispositivo. Un file INF non è uno script di installazione. Si tratta di un file di testo ASCII o Unicode (solo UTF-16) che fornisce informazioni sul dispositivo e sul driver, inclusi i file del driver, le voci del Registro di sistema, gli ID dispositivo, i file di catalogo e le informazioni sulla versione necessarie per installare il pacchetto driver in un dispositivo.
Il contenuto esatto e il formato del file INF dipendono dalla classe di installazione del dispositivo in cui l'INF dichiara di essere in uso. Riepilogo delle sezioni INF descrive le informazioni necessarie in ogni tipo di INF. In generale, le informazioni per produttore si trovano in una sezione Modelli INF. Le voci nella sezione Modelli fanno riferimento alle sezioni INF DDInstall che contengono dettagli specifici del modello.
Lo strumento InfVerif , disponibile nella directory \tools di Microsoft Windows Driver Kit (WDK), controlla la sintassi e la struttura di tutte le sezioni e le direttive INF tra classi, insieme alle estensioni specifiche della classe per tutte le classi di installazione, ad eccezione delle stampanti.
È possibile usare un singolo file INF per l'installazione in tutte le versioni del sistema operativo Windows. Per altre informazioni, vedere Creazione di file INF per più piattaforme e sistemi operativi. Se il dispositivo verrà venduto nel mercato internazionale, è necessario creare un file INF internazionale. A seconda delle località coinvolte, potrebbe essere necessario che un file INF internazionale sia un file Unicode (UTF-16) anziché ASCII.
Un buon modo per creare un file INF per il driver consiste nel modificare uno degli esempi forniti dal WDK. La maggior parte dei driver di esempio WDK include i file INF nella stessa directory del driver di esempio.
Il file INF per il dispositivo deve contenere almeno le informazioni seguenti:
Informazioni sulle versioni del sistema operativo in cui è supportato il pacchetto driver
GUID della classe setup e classe di installazione per il pacchetto driver
Informazioni sulla versione del pacchetto driver
Nomi dei file del driver insieme ai percorsi di origine e di destinazione
Informazioni specifiche del dispositivo, inclusi ID hardware e ID compatibili, che determinano l'applicabilità del pacchetto driver
Nome di un file di catalogo (con estensione cat)
Informazioni su come e quando caricare i servizi forniti da ogni pacchetto driver
Se il dispositivo è coinvolto nell'avvio del sistema, i requisiti di installazione variano. Vedere Installazione di un driver di avvio.
Per altre informazioni sui file INF, vedere Creazione di un file INF, la documentazione per InfVerif, la documentazione specifica del dispositivo in WDK e i file INF forniti con driver di esempio per dispositivi simili ai propri.
File di catalogo
Un file di catalogo driver contiene un hash crittografico di ogni file nel pacchetto driver. Windows usa questi hash per verificare che il pacchetto non sia stato modificato dopo la pubblicazione. Per assicurarsi che il file di catalogo non venga modificato, deve essere firmato digitalmente con una firma digitale attendibile dai sistemi che devono usare questo pacchetto driver.
Un fornitore ottiene firme digitali di rilascio inviando il pacchetto driver a Windows Hardware Quality Lab (WHQL) per il test e la firma. WHQL restituisce il pacchetto con un file di catalogo (.file cat ). Per altre informazioni, vedere Firme di versione WHQL.
Per informazioni su come firmare i driver, vedere Firma dei driver per i driver di versione pubblica e firma durante lo sviluppo e il test.
Il file INF deve fare riferimento al file di catalogo con una direttiva CatalogFile nella sezione INF Version (Versione INF) di INF.
File driver
Nella maggior parte dei casi, un pacchetto driver conterrà uno o più servizi driver che devono far parte dello stack di dispositivi per il dispositivo in cui è installato il pacchetto driver. Per altre informazioni sui servizi driver, vedere Scelta di un modello di driver. Il servizio driver è la parte del pacchetto che fornisce l'interfaccia di I/O per un dispositivo. In genere, un driver è una libreria a collegamento dinamico (DLL) con .estensione del nome file sys . I nomi di file lunghi sono consentiti, ad eccezione dei driver di avvio.
Il software necessario per supportare un particolare dispositivo dipende dalle funzionalità del dispositivo e dal bus o dalla porta a cui si connette. Microsoft spedisce i driver per molti dispositivi comuni. Se il dispositivo può essere usato da uno di questi driver, potrebbe essere necessario scrivere solo un minidriver specifico del dispositivo. Un minidriver gestisce funzionalità specifiche del dispositivo per conto di un driver fornito dal sistema. Per alcuni tipi di dispositivi, anche un minidriver non è necessario. Ad esempio, i modem possono essere in genere supportati solo con i file di installazione.
Altri file
Un pacchetto driver può contenere anche altri file, ad esempio le impostazioni di calibrazione hardware, un servizio Win32, un'icona del dispositivo o un file di libreria driver ,ad esempio per i driver video. Per altre informazioni, vedere l'argomento seguente: