ABSCHNITT INF DDInstall.Interfaces
Jede modellbasierte , DDInstall_. Der Abschnitt Schnittstellen kann eine oder mehrere AddInterface-Anweisungen enthalten, je nachdem, wie viele Geräteschnittstellen ein bestimmtes Gerät/Treiber unterstützt.
[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]...]
Um vorhandene Geräteschnittstellen zu unterstützen, z. B. eine der vordefinierten Kernel-Streamingschnittstellen des Systems, geben Sie die entsprechenden InterfaceClassGUID-Werte in diesem Abschnitt an.
Zum Installieren einer Komponente, z. B. eines Klassentreibers, die eine neue Klasse von Geräteschnittstellen exportiert, muss ein INF-InterfaceInstall32-Abschnitt ebenfalls vorhanden sein.
Weitere Informationen zu Geräteschnittstellen finden Sie unter Geräteschnittstellenklassen.
Einträge
AddInterface={InterfaceClassGUID} [,[Referenzzeichenfolge] [,[add-interface-section] [,,flags_]]]...
Diese Direktive installiert die Unterstützung für eine Geräteschnittstellenklasse, die durch den angegebenen InterfaceClassGUID-Wert festgelegt wird, den der Treiber in Komponenten höherer Ebene exportiert. In der Regel wird auch auf einen inF-Writer definierten Add-interface-Abschnitt an anderer Stelle in der INF-Datei verwiesen. Ausführliche Informationen zum Angeben dieser Direktive finden Sie unter INF AddInterface-Direktive.
Include=,Dateiname. inf[,Dateiname2.inf]...
Dieser optionale Eintrag gibt eine oder mehrere zusätzliche vom System bereitgestellte INF-Dateien an, die Abschnitte enthalten, die zum Registrieren der von diesem Gerät/Treiber unterstützten Schnittstellenklassen erforderlich sind. Wenn dieser Eintrag angegeben wird, ist dies in der Regel ein Eintrag Erforderlich .
Needs=,inf-section-name[,inf-section-name]...
Dieser optionale Eintrag gibt die einzelnen Abschnitte an, die während der Installation dieses Geräts verarbeitet werden müssen. In der Regel ist ein solcher benannter Abschnitt ein ,DDInstall_. Schnittstellenabschnitt in einer vom System bereitgestellten INF-Datei, die in einem Include-Eintrag aufgeführt ist. Es kann jedoch ein beliebiger Abschnitt sein, auf den in einem solchen ,DDInstall_ verwiesen wird. Abschnitt "Schnittstellen " des enthaltenen INF.
Hinweise
Auf den Namen des Abschnitts DDInstall muss ein geräte-/modellspezifischer Eintrag im Abschnitt Herstellermodelle der INF-Datei verweisen. Informationen zur Verwendung der systemdefinierten Erweiterungen .nt, .ntx86, .ntia64, .ntamd64, .ntarm und .ntarm64 in plattformübergreifenden INF-Dateien finden Sie unter Erstellen von INF-Dateien für mehrere Plattformen und Betriebssysteme.
Wenn ein angegebenes {,InterfaceClassGUID_} noch nicht installiert ist, installiert der Setupcode des Betriebssystems diese Geräteschnittstellenklasse im System. Wenn eine INF-Datei eine oder mehrere neue Geräteschnittstellenklassen installiert, kann sie auch über einen Abschnitt [InterfaceInstall32] verfügen, der die GUID für die neue Klasse identifiziert.
Weitere Informationen zum Erstellen einer GUID finden Sie unter Verwenden von GUIDs in Treibern. Informationen zu den vom System definierten Schnittstellenklassen-GUIDs finden Sie im entsprechenden vom System bereitgestellten Header, z . B. Ks.h für die Kernel-Streaming-Schnittstellenklasse GUIDS.
Wenn ein Treiber geladen wird, muss er IoRegisterDeviceInterface mit derselben {,InterfaceClassGUID_} - und Verweiszeichenfolge aufrufen, die in einer AddInterface-Direktive verwendet wird, um den vollständigen SymbolicLinkName für die Geräteschnittstelle abzurufen. Dies muss für jede Geräteschnittstelle in der ,DDInstall_ des INF erfolgen. Schnittstellenabschnitt , den der Treiber auf dem zugrunde liegenden Gerät unterstützt. Für jeden SymbolicLinkName muss der Treiber IoSetDeviceInterfaceState aufrufen, um die Geräteschnittstelle zu aktivieren. Normalerweise führt eine PnP-Funktion oder ein Filtertreiber diese Aufrufe aus der AddDevice-Routine aus.
Beispiele
Dieses Beispiel zeigt den DDInstall. Nt. Abschnitt Schnittstellen in der INF-Datei für das vom System bereitgestellte WDM-Audiogerät/-Treiber.
;
; 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"
; ...