Sekcja INF DDInstall.Interfaces

Każdy model , DDInstall_. Sekcja Interfejsy może zawierać co najmniej jedną dyrektywę AddInterface , w zależności od liczby interfejsów urządzeń, które obsługuje dany sterownik/urządzenie.

[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]...] 

Aby obsługiwać istniejące interfejsy urządzeń, takie jak dowolny ze wstępnie zdefiniowanych interfejsów przesyłania strumieniowego jądra systemu, określ odpowiednie wartości InterfaceClassGUID w tej sekcji.

Aby zainstalować składnik, taki jak sterownik klasy, który eksportuje nową klasę interfejsów urządzeń, inf musi również mieć sekcję INF InterfaceInstall32.

Aby uzyskać więcej informacji na temat interfejsów urządzeń, zobacz Klasy interfejsów urządzeń.

Wpisy

AddInterface={InterfaceClassGUID} [,[ciąg odwołania] [,[add-interface-section] [,,flags_]]...
Ta dyrektywa instaluje obsługę klasy interfejsu urządzenia wyznaczonej przez określoną wartość InterfaceClassGUID , którą sterownik eksportuje do składników wyższego poziomu. Zazwyczaj odwołuje się również do sekcji add-interface-defined inf w pliku INF. Aby uzyskać szczegółowe informacje na temat sposobu określania tej dyrektywy, zobacz INF AddInterface Directive (Dyrektywa INF AddInterface).

Include=,nazwa pliku. inf[,nazwa_pliku2.inf]...
Ten opcjonalny wpis określa jeden lub więcej dodatkowych plików INF dostarczanych przez system, które zawierają sekcje wymagane do zarejestrowania klas interfejsów obsługiwanych przez to urządzenie/sterownik. Jeśli ten wpis jest określony, zazwyczaj jest to wpis Wymaga .

Needs=,inf-section-name[,inf-section-name]...
Ten opcjonalny wpis określa określone sekcje, które należy przetworzyć podczas instalacji tego urządzenia. Zazwyczaj taka nazwana sekcja jest DDInstall_. Sekcja Interfejsy w pliku INF dostarczonym przez system, który znajduje się w wpisie Dołączanie . Jednak może to być dowolna sekcja, do którego odwołuje się taka DDInstall_. Sekcja Interfejsy dołączonego modułu INF.

Remarks

Nazwa sekcji DDInstall musi odwoływać się do wpisu specyficznego dla urządzenia/modeli w sekcji Modele poszczególnych producentów pliku INF. Aby uzyskać informacje o sposobie używania zdefiniowanych przez system rozszerzeń nt, ntx86, ntia64, ntamd64, ntarm i ntarm64 w plikach INF międzyplatformowych, zobacz Tworzenie plików INF dla wielu platform i systemów operacyjnych.

Jeśli określony element {,InterfaceClassGUID_} nie jest już zainstalowany, kod instalacyjny systemu operacyjnego instaluje klasę interfejsu urządzenia w systemie. Jeśli plik INF instaluje co najmniej jedną nową klasę interfejsu urządzenia, może również mieć sekcję [InterfaceInstall32] identyfikującą identyfikator GUID nowej klasy.

Aby uzyskać więcej informacji na temat tworzenia identyfikatora GUID, zobacz Używanie identyfikatorów GUID w sterownikach. W przypadku identyfikatorów GUID klasy interfejsu zdefiniowanego przez system zobacz odpowiedni nagłówek dostarczany przez system, taki jak Ks.h dla identyfikatora GUID klasy interfejsu jądra-przesyłania strumieniowego.

Po załadowaniu sterownika należy wywołać metodę IoRegisterDeviceInterface z tym samym ciągiem {,InterfaceClassGUID_} i ciągiem referencyjnym używanym w dyrektywie AddInterface , aby uzyskać pełną wartość SymbolLinkName dla interfejsu urządzenia. Musi to zrobić dla każdego interfejsu urządzenia w DDInstall_ INF. Sekcja interfejsów obsługiwana przez sterownik na urządzeniu bazowym. Dla każdego elementu SymbolicLinkName sterownik musi wywołać metodę IoSetDeviceInterfaceState , aby włączyć interfejs urządzenia. Zazwyczaj funkcja PnP lub sterownik filtru wykonuje te wywołania z procedury AddDevice .

Examples

W tym przykładzie pokazano DDInstall. nt. Sekcja Interfejsy w pliku INF dla dostarczonego przez system urządzenia audio/sterownika WDM.

;
; 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"
; ...

Informacje dodatkowe

AddInterface

DDInstall

InterfaceInstall32

IoRegisterDeviceInterface

IoSetDeviceInterfaceState

Modele