Sezione INF DDInstall.Interfaces
Ogni modello , DDInstall_. La sezione Interfacce può avere una o più direttive AddInterface , a seconda del numero di interfacce del dispositivo supportate da un determinato dispositivo/driver.
[install-section-name.Interfaces] |
[install-section-name.nt.Interfaces] |
[install-section-name.ntx86.Interfaces] |
[install-section-name.ntia64.Interfaces] | (Windows XP and later versions of Windows)
[install-section-name.ntamd64.Interfaces] | (Windows XP and later versions of Windows)
[install-section-name.ntarm.Interfaces] | (Windows 8 and later versions of Windows)
[install-section-name.ntarm64.Interfaces] (Windows 10 version 1709 and later versions of Windows)
AddInterface={InterfaceClassGUID} [, [reference string] [,[add-interface-section] [,flags]]] ...
[Include=filename.inf[,filename2.inf]...]
[Needs=inf-section-name[,inf-section-name]...]
Per supportare interfacce di dispositivo esistenti, ad esempio una delle interfacce di streaming del kernel predefinite del sistema, specificare i valori InterfaceClassGUID appropriati in questa sezione.
Per installare un componente, ad esempio un driver di classe, che esporta una nuova classe di interfacce di dispositivo, un INF deve avere anche una sezione INF InterfaceInstall32.
Per altre informazioni sulle interfacce del dispositivo, vedere Classi di interfaccia dispositivo.
Voci
AddInterface={InterfaceClassGUID} [,[reference string] [,[add-interface-section] [,flags_]]...
Questa direttiva installa il supporto per una classe di interfaccia del dispositivo, designata dal valore InterfaceClassGUID specificato esportato dal driver ai componenti di livello superiore. In genere, fa riferimento anche a un componente aggiuntivo definito dal writer INF altrove nel file INF. Per informazioni dettagliate su come specificare questa direttiva, vedere Direttiva INF AddInterface.
Include=,nome file. inf[,filename2.inf]...
Questa voce facoltativa specifica uno o più file INF forniti dal sistema aggiuntivi che contengono sezioni necessarie per registrare le classi di interfaccia supportate da questo dispositivo/driver. Se questa voce viene specificata, in genere è una voce Esigenze .
Needs=,inf-section-name[,inf-section-name]...
Questa voce facoltativa specifica le sezioni specifiche che devono essere elaborate durante l'installazione di questo dispositivo. In genere, tale sezione denominata è un DDInstall_. Sezione Interfacce all'interno di un file INF fornito dal sistema elencato in una voce Includi . Tuttavia, può essere qualsiasi sezione a cui si fa riferimento all'interno di tale ,DDInstall_. Sezione Interfacce dell'INF incluso.
Commenti
Il nome della sezione DDInstall deve essere fatto riferimento a una voce specifica del dispositivo/modelli nella sezione Modelli per produttore del file INF. Per informazioni su come usare le estensioni .nt, .ntx86, .ntia64, .ntamd64, .ntarm e .ntarm64 nei file INF multipiattaforma, vedere Creazione di file INF per più piattaforme e sistemi operativi.
Se un oggetto {,InterfaceClassGUID_} specificato non è già installato, il codice di installazione del sistema operativo installa la classe dell'interfaccia del dispositivo nel sistema. Se un file INF installa una o più nuove classi di interfaccia del dispositivo, può avere anche una sezione [InterfaceInstall32] che identifica il GUID per la nuova classe.
Per altre informazioni su come creare un GUID, vedere Uso di GUID nei driver. Per i GUID della classe di interfaccia definita dal sistema, vedere l'intestazione appropriata fornita dal sistema, ad esempio Ks.h per il GUIDS della classe di interfaccia di streaming kernel.
Quando viene caricato un driver, deve chiamare IoRegisterDeviceInterface con la stessa stringa di riferimento {,InterfaceClassGUID_} e la stringa di riferimento usata in una direttiva AddInterface per ottenere il valore simbolico completo per l'interfaccia del dispositivo. Deve eseguire questa operazione per ogni interfaccia del dispositivo nell'DDInstall_ di INF. Sezione Interfacce supportate dal driver nel dispositivo sottostante. Per ogni nome SimbolicoLinkName, il driver deve chiamare IoSetDeviceInterfaceState per abilitare l'interfaccia del dispositivo. In genere, una funzione PnP o un driver di filtro effettua queste chiamate dalla routine AddDevice .
Esempio
Questo esempio mostra DDInstall. Nt. Sezione Interfacce nel file INF per il dispositivo/driver audio WDM fornito dal sistema.
;
; following AddInterface= are all single lines (without
; backslash line continuators) in the system-supplied INF file
;
[WDMPNPB003_Device.NT.Interfaces]
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Wave%,\
WDM_SB16.Interface.Wave
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_Topology%,\
WDM_SB16.Interface.Topology
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_UART%,\
WDM_SB16.Interface.UART
AddInterface=%KSCATEGORY_AUDIO%,%KSNAME_FMSynth%,\
WDM_SB16.Interface.FMSynth
; ...
[Strings] ; only immediately preceding %strkey% tokens shown here
%KSCATEGORY_AUDIO% = "{6994ad04-93ef-11d0-a3cc-00a0c9223196}"
KSNAME_Wave = "Wave"
KSNAME_UART = "UART"
KSNAME_FMSynth = "FMSynth"
KSNAME_Topology = "Topology"
; ...