Sekcja wersja INF

Zgodnie z konwencją sekcja Wersja jest wyświetlana jako pierwsza w plikach INF. Każdy plik INF musi mieć tę sekcję.

[Version]
 
Signature="signature-name"
[Class=class-name]
[ClassGuid={nnnnnnnn-nnnn-nnnn-nnnn-nnnnnnnnnnnn}]
[Provider=%INF-creator%]
[ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}]
[LayoutFile=filename.inf [,filename.inf]... ]  (Windows 2000 and Windows XP)
[CatalogFile=filename.cat]
[CatalogFile.nt=unique-filename.cat]
[CatalogFile.ntx86=unique-filename.cat]
[CatalogFile.ntia64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntamd64=unique-filename.cat]  (Windows XP and later versions of Windows)
[CatalogFile.ntarm=unique-filename.cat]  (Windows 8 and later versions of Windows)
[CatalogFile.ntarm64=unique-filename.cat]  (Windows 10 version 1709 and later versions of Windows)

DriverVer=mm/dd/yyyy,w.x.y.z
[PnpLockDown=0|1] (Windows Vista and later versions of Windows)
[DriverPackageDisplayName=%driver-package-description%]
[DriverPackageType=PackageType]

Wpisy

Signature="signature-name"
Musi być $Windows NT$ lub $Chicago$. Wskazuje to, że systemy operacyjne, dla których ten inF jest prawidłowy. Te wartości podpisu mają następujące znaczenie.

Wartość podpisu Meaning
$Windows NT$ Wszystkie systemy operacyjne Windows
$Chicago$ Wszystkie systemy operacyjne Windows

Otaczające znaki dolara ($) są wymagane, ale te ciągi nie są uwzględniane wielkości liter. Jeśli nazwa podpisu nie jest żadną z tych wartości ciągu, plik nie jest akceptowany jako prawidłowy inf.

Ogólnie rzecz biorąc, Windows nie rozróżnia tych wartości podpisu. Jeden z nich musi być określony, ale nie ma znaczenia, który z nich. Należy określić odpowiednią wartość, aby ktoś odczytujący plik INF mógł określić systemy operacyjne, dla których ma być przeznaczona.

Niektóre instalatory klas nakładają dodatkowe wymagania dotyczące sposobu określenia wartości podpisu. Takie wymagania, jeśli istnieją, zostały omówione w sekcjach specyficznych dla typu urządzenia tego Windows Driver Kit (WDK).

InF musi podać informacje o instalacji specyficzne dla systemu operacyjnego, dołączając rozszerzenia zdefiniowane przez system do sekcji DDInstall, niezależnie od tego, czy nazwa podpisu to $Windows NT$ czy $Chicago$. (Zobacz Tworzenie plików INF dla wielu platform i systemów operacyjnych , aby zapoznać się z omówieniem tych rozszerzeń).

Class=class-name
W przypadku dowolnego standardowego typu urządzenia określa nazwę klasy konfiguracji urządzenia dla typu urządzenia zainstalowanego przy użyciu tego pliku INF. Ta nazwa jest zwykle jedną z nazw klas zdefiniowanych przez system, takich jak Net lub Display, które są wymienione w devguid.h. Aby uzyskać więcej informacji, zobacz System-Supplied Klasy konfiguracji urządzeń.

Jeśli INF określa klasę, należy również określić odpowiednią wartość identyfikatora GUID zdefiniowanego przez system dla wpisu ClassGUID . Określenie zgodnej wartości identyfikatora GUID dla urządzenia dowolnej wstępnie zdefiniowanej klasy konfiguracji urządzenia może szybciej zainstalować urządzenie i jego sterowniki, ponieważ pomaga to kodowi konfiguracji systemu zoptymalizować wyszukiwanie INF.

Jeśli inf dodaje nową klasę konfiguracji urządzeń do systemu, powinna podać unikatową, niewrażliwą na wielkość liter wartość nazwy klasy , która różni się od dowolnej klasy dostarczonej przez system w devguid.h. Długość ciągu nazwy klasy musi być 32 znaków lub mniejsza. InF musi określić nowo wygenerowaną wartość identyfikatora GUID dla wpisu ClassGUID . Zobacz również sekcję KlasaINSTALL32 INF.

Ten wpis nie ma znaczenia dla inF, który nie instaluje ani nowego sterownika urządzenia w wstępnie zdefiniowanej klasie konfiguracji urządzenia, ani nowej klasy konfiguracji urządzenia.

Note

Ten wpis jest wymagany w przypadku sterowników urządzeń zainstalowanych za pośrednictwem menedżera Plug and Play (PnP).

ClassGuid={nnnn-nnnn-nnnn-nnnn nnnn-nnnn}
Określa identyfikator GUID klasy konfiguracji urządzenia . Wartość identyfikatora GUID jest formatowana, jak pokazano tutaj, gdzie każdy n jest cyfrą szesnastkową.

Ta wartość identyfikatora GUID określa klasę konfiguracji urządzenia, która ma zostać przypisana do urządzeń zainstalowanych z tego pliku INF. Ta wartość identyfikatora GUID specyficzna dla klasy identyfikuje również instalatora klasy urządzenia dla typu dostawcy strony właściwości specyficznej dla danej klasy, jeśli istnieje.

W przypadku nowej klasy konfiguracji urządzenia inf musi określić nowo wygenerowaną wartość ClassGUID . Aby uzyskać więcej informacji na temat tworzenia identyfikatorów GUID, zobacz Używanie identyfikatorów GUID w sterownikach. Zobacz również Klasy konfiguracji urządzeń.

Note

Ten wpis jest wymagany w przypadku sterowników urządzeń zainstalowanych za pośrednictwem menedżera PnP.

ExtensionId={xxxxxxxx-xxxx-xxxx-xxxx-xxxx-xxxxxxxxxx}
Określa identyfikator GUID rozszerzenia podczas tworzenia rozszerzenia INF. Wartość identyfikatora GUID jest formatowana, jak pokazano tutaj, gdzie każdy x jest cyfrą szesnastkową.

Podczas tworzenia początkowej wersji rozszerzenia INF inF musi określić nowo wygenerowaną wartość ExtensionId . Jednak podczas aktualizowania istniejącego rozszerzenia INF identyfikator ExtensionId musi pozostać taki sam, aby wiele powiązanych wersji rozszerzenia INF były wersjonowane względem siebie zamiast być traktowane jako niezależne rozszerzenia INF, które mogą być jednocześnie zainstalowane w tym samym wystąpieniu urządzenia. Aby uzyskać więcej informacji na temat tworzenia rozszerzeń INF, zobacz Using an Extension INF File (Używanie pliku INF rozszerzenia).

Note

Ten wpis jest wymagany tylko podczas tworzenia rozszerzenia INF, zgodnie z określeniem Class = Extension i ClassGuid = {e2f84ce7-8efa-411c-aa69-97454ca4cb57}.

ClassVer=major.pomocnicza
Zarezerwowane do użytku systemowego, chyba że jest to jawnie wymagane przez klasę urządzeń, taką jak Drukarka. Na przykład zobacz V4 Driver INF (V4 Sterownik INF).

Dostawca =%INF-creator%
Identyfikuje dostawcę pliku INF. Zazwyczaj jest to określane jako % token OrganizationName%, który jest rozszerzany w dalszej części sekcji Ciągi pliku INF. Maksymalna długość w znakach nazwy dostawcy to LINE_LEN.

Na przykład pliki INF dostarczane z systemem zwykle określają twórcę INF jako %Msft i definiują msft %% = "Microsoft" w sekcjach Ciągi.%

Note

Ten wpis jest wymagany w przypadku sterowników urządzeń zainstalowanych za pośrednictwem menedżera PnP.

CatalogFile=nazwa_pliku.cat
Określa wykaz (.cat) plik, który ma zostać uwzględniony na nośniku dystrybucji pakietu sterowników.

Po przesłaniu pakietu sterowników do Microsoft do podpisywania cyfrowego usługa WHQL udostępnia plik katalogu pakietu sterowników po przetestowaniu i przypisaniu podpisów cyfrowych do pakietu przez usługę WHQL. Aby uzyskać więcej informacji na temat testowania i podpisywania pakietów sterowników IHV lub OEM, zobacz WHQL Release Signature. Pliki katalogu nie są wymienione w sekcji SourceDisksFiles lub dyrektywie CopyFiles inF. Windows zakłada, że plik wykazu znajduje się w tej samej lokalizacji co plik INF.

Pliki INF dostarczane przez system nigdy nie mają wpisów CatalogFile= ponieważ system operacyjny weryfikuje podpis dla takiego inF dla wszystkich plików xxx.cat dostarczonych przez system.

CatalogFile.nt=unique-filename.cat |
CatalogFile.ntx86=unique-filename.cat |
CatalogFile.ntia64=unique-filename.cat |
CatalogFile.ntamd64=unique-filename.cat
CatalogFile.ntarm=unique-filename.cat
CatalogFile.ntarm64=unique-filename.cat

Określa inną nazwę pliku określonego przez moduł zapisywania INF o unikatowej nazwie z . rozszerzenie cat pliku wykazu. Jeśli te opcjonalne wpisy zostaną pominięte, dany plik CatalogFile=filename.cat jest używany do sprawdzania poprawności instalacji urządzeń/sterowników WDM.

Jeśli jakikolwiek element CatalogFile został ozdobiony .wpis xxx= istnieje w sekcji Wersja INF wraz z nieukodowanym wpisem CatalogFile = przyjmuje się, że nieukodowany wpis jest rozpoznawany w celu zidentyfikowania filename.cat do sprawdzania poprawności instalacji urządzeń, instalacji sterowników lub obu tych platform, dla których nie określono wpisu ozdobionego.

Dowolny międzyplatformowy plik INF sterownika urządzenia, który ma plik CatalogFile= i CatalogFile.Wpisy xxx= muszą podać unikatową nazwę określoną przez IHV/OEM dla każdego takiego pliku cat.

Aby uzyskać więcej informacji na temat używania zdefiniowanych przez system rozszerzeń nt, ntx86, ntia64, ntamd64, ntarm i ntarm64 , zobacz Tworzenie plików INF dla wielu platform i systemów operacyjnych.

Note

Ponieważ ten sam plik cat może być używany na wszystkich obsługiwanych platformach, użycie tego wpisu nie jest wymagane ani zalecane. Należy jednak użyć tego wpisu, jeśli chcesz utworzyć pliki .cat specyficzne dla platformy dla pakietu sterowników.

DriverVer=mm/dd/rrrr,w.x.y.z
Ten wpis określa informacje o wersji sterowników zainstalowanych przez ten plik INF. Począwszy od Windows 2000, ten wpis jest wymagany.

Aby uzyskać informacje na temat sposobu określania tego wpisu, zobacz dyrektywa INF DriverVer.

PnpLockDown=0|1
Określa, czy Plug and Play (PnP) uniemożliwia aplikacjom bezpośrednie modyfikowanie plików określonych przez plik INF pakietu sterowników. Jeśli dyrektywa PnpLockDown jest ustawiona na 1, pnP uniemożliwia aplikacjom bezpośrednie modyfikowanie plików kopiowanych przez dyrektywy INF CopyFiles . W przeciwnym razie, jeśli dyrektywa nie jest zawarta w pliku INF lub wartość dyrektywy jest ustawiona na zero, aplikacja, która ma uprawnienia administratora, może bezpośrednio modyfikować te pliki. Pliki sterowników, które są chronione w ten sposób, są określane jako pliki sterowników chronionych przez inne firmy.

Aby zapewnić integralność instalacji sterownika PnP, aplikacje nie powinny bezpośrednio modyfikować plików sterowników kopiowanych przez plik INF pakietu sterowników. Aplikacje powinny używać tylko mechanizmów instalacji urządzeń udostępnianych przez Windows w celu zaktualizowania sterowników PnP.

Począwszy od Windows Vista, pakiet sterowników powinien ustawić wartość PnpLockDown na 1, aby uniemożliwić aplikacji bezpośrednie modyfikowanie plików sterowników. Jednak niektóre istniejące aplikacje, które odinstalowują pakiety sterowników, bezpośrednio usuwają pliki sterowników. Aby zachować zgodność z tymi aplikacjami, dyrektywa PnpLockDown dla takiego pakietu sterowników powinna być ustawiona na zero.

Note

Mimo że pnP w Windows Vista i nowszych wersjach Windows nie wymaga, aby plik INF zawierał dyrektywę PnpLockDown w celu zainstalowania sterownika, PnP w przyszłej wersji Windows może wymagać, aby pliki INF dla pakietów sterowników PnP zawierały dyrektywę PnpLockDown.

DriverPackageDisplayName=%driver-package-description%
Deprecated. Wcześniej był używany przez struktury instalacji sterowników (DIFx). Aby uzyskać informacje o wycofaniu narzędzia DIFx, zobacz DIFx Guidelines (Wskazówki dotyczące narzędzia DIFx).

DriverPackageType=PackageType
Deprecated. Wcześniej był używany przez struktury instalacji sterowników (DIFx). Aby uzyskać informacje o wycofaniu narzędzia DIFx, zobacz DIFx Guidelines (Wskazówki dotyczące narzędzia DIFx).

Remarks

Gdy pakiet sterowników przejdzie Microsoft Windows testowania laboratorium jakości sprzętowej (WHQL), program WHQL zwraca pliki katalogu .cat do IHV lub OEM. Każdy plik cat zawiera cyfrowo zaszyfrowany podpis pakietu sterowników. Plik IHV lub OEM musi zawierać listę tych plików cat w sekcji Wersja INF i musi podać pliki na nośniku dystrybucji w tej samej lokalizacji co plik INF. Pliki .cat muszą być nieskompresowane.

Note

Jeśli sekcja wersja INF nie zawiera co najmniej jednego wpisu CatalogFile lub CatalogFile.ntxxx, sterownik jest traktowany jako niepodpisany, a daty wymienione w dyrektywie DriverVer nie są wyświetlane przez Windows.

Aby uzyskać więcej informacji, zobacz Podpisywanie sterowników.

Examples

Poniższy przykład przedstawia sekcję Wersja typową dla prostego pakietu sterowników INF, a następnie wymagane sekcje SourceDisksNames i SourceDisksFiles implikowane przez wpisy określone w tej przykładowej sekcji Wersja :

[Version]
Signature="$Windows NT$"
Class=SCSIAdapter
ClassGUID={4D36E97B-E325-11CE-BFC1-08002BE10318}
Provider=%INF_Provider%
CatalogFile=example.cat
DriverVer=01/29/2010,1.2.3.4
PnpLockdown=1

[SourceDisksNames]
;
; diskid = description[, [tagfile] [, <unused>, subdir]]
;
1 = %Disk_Description%,,,\WinNT

[SourceDisksFiles.x86]
;
; filename_on_source = diskID[, [subdir][, size]]
;
exampleDriver.sys = 1,\x86

; ...

[Strings]
INF_Provider="Contoso"
Disk_Description = "Contoso Drivers Disk"
; ...

Informacje dodatkowe

DDInstall

SourceDisksNames

SourceDisksFiles

Ciągi