Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Chaque modèle par modèle DDInstall_. La section Interfaces peut avoir une ou plusieurs directives AddInterface , en fonction du nombre d’interfaces d’appareil prises en charge par un périphérique/pilote particulier.
[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]...]
Pour prendre en charge les interfaces d’appareil existantes, telles que l’une des interfaces de streaming de noyau prédéfinies du système, spécifiez les valeurs InterfaceClassGUID appropriées dans cette section.
Pour installer un composant, tel qu’un pilote de classe, qui exporte une nouvelle classe d’interfaces d’appareil, un INF doit également avoir une section INF InterfaceInstall32.
Pour plus d’informations sur les interfaces d’appareil, consultez Classes d’interface d’appareil.
Entrées
AddInterface={InterfaceClassGUID} [,[chaîne de référence] [,[add-interface-section] [,flags_]]]...
Cette directive installe la prise en charge d’une classe d’interface d’appareil, désignée par la valeur InterfaceClassGUID spécifiée que le pilote exporte vers des composants de niveau supérieur. En règle générale, il fait également référence à une section add-interface-interface définie par l’enregistreur INF ailleurs dans le fichier INF. Pour plus d’informations sur la façon de spécifier cette directive, consultez la directive AddInterface INF.
Include=,filename. inf[,filename2.inf]...
Cette entrée facultative spécifie un ou plusieurs fichiers INF fournis par le système qui contiennent des sections nécessaires pour inscrire les classes d’interface prises en charge par ce périphérique/pilote. Si cette entrée est spécifiée, il s’agit généralement d’une entrée Besoins .
Needs=,inf-section-name[,inf-section-name]...
Cette entrée facultative spécifie les sections particulières qui doivent être traitées pendant l’installation de cet appareil. En règle générale, une telle section nommée est un DDInstall_. Section Interfaces dans un fichier INF fourni par le système répertorié dans une entrée Include . Toutefois, il peut s’agir de n’importe quelle section référencée dans un tel DDInstall_. Section Interfaces du inf inclus.
Remarks
Le nom de la section DDInstall doit être référencé par une entrée spécifique à un appareil/modèle sous la section Modèles par fabricant du fichier INF. Pour plus d’informations sur l’utilisation des extensions .nt, .ntx86, .ntia64, .ntamd64, .ntarm et .ntarm64 dans les fichiers INF multiplateformes, consultez Création de fichiers INF pour plusieurs plateformes et systèmes d’exploitation.
Si un {,InterfaceClassGUID_} spécifié n’est pas déjà installé, le code d’installation du système d’exploitation installe cette classe d’interface d’appareil dans le système. Si un fichier INF installe une ou plusieurs nouvelles classes d’interface d’appareil, il peut également avoir une section [InterfaceInstall32] identifiant le GUID de la nouvelle classe.
Pour plus d’informations sur la création d’un GUID, consultez Utilisation des GUID dans les pilotes. Pour les GUID de la classe d’interface définie par le système, consultez l’en-tête fourni par le système approprié, tel que Ks.h pour les GUID de la classe d’interface de streaming du noyau.
Lorsqu’un pilote est chargé, il doit appeler IoRegisterDeviceInterface avec la même chaîne de référence {,InterfaceClassGUID_} et la chaîne de référence utilisée dans une directive AddInterface afin d’obtenir la valeur SymbolLinkName complète pour l’interface de l’appareil. Il doit le faire pour chaque interface d’appareil dans le DDInstall_ inf. Section Interfaces prises en charge par le pilote sur l’appareil sous-jacent. Pour chaque SymbolLinkName, le pilote doit appeler IoSetDeviceInterfaceState pour activer l’interface de l’appareil. En règle générale, une fonction PnP ou un pilote de filtre effectue ces appels à partir de sa routine AddDevice .
Examples
Cet exemple montre DDInstall. nt. Section Interfaces du fichier INF pour le périphérique/pilote audio WDM fourni par le système.
;
; 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"
; ...