Aracılığıyla paylaş


Dirid'leri kullanma

INF dosyalarında görünen dizinlerin çoğu, belirli dizinleri tanımlayan sayılar olan dizin tanımlayıcıları (dirid) kullanılarak ifade edilebilir. Uygulamalar, değerleri -1 ile 32767 arasında olan dirid'lerle ilişkili sistem tanımlı dizinleri kullanabilir, ancak yeniden atayamaz.

32768 ile 65534 veya 65536 arasında kullanıcı tanımlı değerlerle dirid oluşturmak için SetupSetDirectoryId işlevini kullanın (Microsoft Windows SDK belgelerinde açıklanmıştır).

Değeri 65535 olan bir dirid değerinin -1 değerine sahip bir dirid ile eş anlamlı olarak kabul edildiğini, ancak ikincisinin (dirid -1) tercih edildiğini unutmayın.

INF dosyanızda dirid kullanmak istiyorsanız aşağıdaki iki yönergeyi göz önünde bulundurun:

  1. BIR INF dosya girişinin söz dizimi açıkça bir dirid değeri (örneğin INF DestinationDirs bölümü) belirttiğinde, bu değeri sayı olarak ifade eder.

    Aşağıdaki örnekte bu söz dizimi gösterilmektedir:

    [DestinationDirs]
    DefaultDestDir = 11  ;  \system32 directory on Windows 2000 and later versions
    
  2. INF dosya girişinin söz dizimi bir dosya yolu belirttiğinde, bu yolun bir bölümünü veya tamamını temsil etmek için sistem tarafından sağlanan dize değişimini kullanabilirsiniz. Bu değiştirme aşağıdaki forma sahiptir:

    % dirid%

    Bu form bir yüzde (%) karakterinden, ardından belirtmek istediğiniz dizinin dirid değerinin ardından başka bir yüzde (%) karakterinden oluşur. Sonlandırıcı ters eğik çizgi () karakteri, bu ifadeyi aşağıdaki dosya adından veya yoldaki ek dizinlerden ayırır.

    Aşağıdaki örnekte bu söz dizimi gösterilmektedir:

    [aic78xx_Service_Inst]
    ServiceBinary = %12%\aic78xx.sys
    

    Tamamen genişletildiğinde, önceki örnekte gösterilen yol c:\windows\system32\sürücüleri\aic78xx.sys (Windows'un c:\windows dizinine yüklendiği varsayılarak) olur. Dize değiştirmenin veya %dirid% formunun, INF dosyasının INF Dizeleri bölümü dışında bir dizenin beklendiği her yerde kullanılabileceğini unutmayın.

    Aşağıdaki iki örnek, dize değiştirmenin nasıl kullanılmaması gerektiğini göstermektedir.

    [DestinationDirs]
    DefaultDestDir = %11%  ; Error! - number expected
    
    [aic78xx_Service_Inst]
    ServiceBinary = 12\aic78xx.sys  ; Error! - unknown directory name
    

    İlk örnekte DefaultDestDir girişinin söz dizimi değerinin sayı olmasını gerektirir. Ancak, %11% ifadesi bir dizeye genişletir. İkinci örnekte, INF yazıcısının ServiceBinary girdisinin değerini sürücü içeren dizindeki bir dosyaya ayarlamayı amaçladığı görülüyor (daha fazla bilgi için aşağıdaki tabloya bakın). Hatanın nedeni, Windows'un belirtilen dosyayı "12" adlı bir dizinde araması ve büyük olasılıkla bilgisayarda mevcut olmamasıdır.

Aşağıdaki tabloda yaygın olarak kullanılan birkaç dirid ve bunların temsil ettiği dizinler gösterilmektedir. Cihaz INF dosyaları ve sürücü INF dosyaları tarafından en yaygın olarak belirtilen değerler tablonun en üstüne doğru listelenir.

Sürücü Paketi Yalıtımı gereksinimlerinin bir parçası olarak, sürücü Sürücü Deposu'ndan çalıştırılmalıdır ve yüklemedeki sürücü paketi dosyalarının konumunu belirtmek için DIRID 13'ü kullanmalıdır. INF'nizi WHQL imzası için gönderirken yaygın olarak kullanılan bazı dirid'ler kullanım dışı bırakılmıştır, Windows 11, sürüm 24H2'den başlayarak. Daha fazla bilgi için bkz. InfVerif /h.

Değer Hedef Dizin Kullanım Dışı Bırakıldı

01

SourceDrive:\pathname (INF dosyasının yüklendiği dizin)

Windows 11 24H2

10

Windows dizini.

Bu, %SystemRoot%eşdeğerdir.

11

Sistem dizini.

Bu, Windows 2000 ve sonraki Windows sürümleri için system32%SystemRoot%eşdeğerdir \..

12

Sürücüler dizini.

Bu, Windows 2000 \ ve sonraki Windows sürümleri için %SystemRoot%system32sürücülerine eşdeğerdir.\

13

Sürücü paketinin Sürücü Deposu dizini.

Windows 8.1 ve sonraki Windows sürümleri için, sürücü paketinin içeri aktarıldığı Sürücü Deposu dizininin yolunu belirtir.

DestinationDirs'indirid 13 içerdiği bir dosyada DelFiles kullanmayın.

Bir dosyanın SourceDiskFiles bölümündeki isteğe bağlı alt dizin, bu dosyaya uygulanan girdinin DestinationDirs bölümündeki alt dizinle eşleşmelidir.

DestinationDirs'indirid 13 içerdiği bir dosyayı yeniden adlandırmak için CopyFiles kullanmayın.

Dirid 13 kullanma hakkında daha fazla bilgi için bkz. Driver Store'dan çalıştırma.

17

INF dosya dizini

Windows 11 24H2

18

Yardım dizini

Windows 11 24H2

20

Yazı tipleri dizini

Windows 11 24H2

21

Görüntüleyiciler dizini

Windows 11 24H2

23

Renk dizini (ICM) (yazıcı sürücülerini yüklemek için kullanılmaz )

24

Sistem diskinin kök dizini.

Bu, Windows dosyalarının yüklendiği diskin kök dizinidir. Örneğin dirid 10, "C:\winnt" ise dirid 24, "C:\" olur.

Windows 11 24H2

25

Paylaşılan dizin

Windows 11 24H2

30

"ARC sistem bölümü" olarak da bilinen önyükleme diskinin kök dizini. (Bu, dirid 24 ile temsil edilen dizinle aynı dizin olabilir veya olmayabilir.)

Windows 11 24H2

50

Sistem dizini

Bu, %SystemRoot%\sisteme eşdeğerdir.

Windows 11 24H2

51

Biriktirme dizini (yazıcı sürücülerini yüklemek için kullanılmaz − bkz . Yazıcı Dirid'leri)

52

Biriktirici sürücü dizini (yazıcı sürücülerini yüklemek amacıyla kullanılmaz)

53

Kullanıcı profili dizini

Windows 11 24H2

54

Ntldr.exe ve Osloader.exe bulunduğu dizin

Windows 11 24H2

55

Yazdırma işlemcileri dizini (yazıcı sürücülerini yüklemek için kullanılmaz )

-1

Mutlak yol

Windows 11 24H2

16384 ile 32767 arasında dirid değerleri özel kabuk klasörleri için ayrılmıştır. Aşağıdaki tabloda bu klasörler için dirid değerleri gösterilmektedir.

Değer Shell Özel Klasör Kullanım Dışı Sürüm

16406

Tüm Kullanıcılar\Başlat Menüsü

Windows 11 24H2

16407

Tüm Kullanıcılar\Başlat Menüsü\Programlar

Windows 11 24H2

16408

Tüm Kullanıcılar\Başlat Menüsü\Programlar\Başlangıç

Windows 11 24H2

16409

Tüm Kullanıcılar\Masaüstü

Windows 11 24H2

16415

Tüm Kullanıcılar\Sık Kullanılanlar

Windows 11 24H2

16419

Tüm Kullanıcılar\Uygulama Verileri

Windows 11 24H2

16422

Program Dosyaları

16425

%SystemRoot%\SysWOW64

16426

%ProgramFiles(x86)%

16427

Program Files\Common

16428

%ProgramFiles(x86)%\Common

16429

Tüm Kullanıcılar\Şablonlar

Windows 11 24H2

16430

Tüm Kullanıcılar\Belgeler

Windows 11 24H2

Bu tablodaki Setupapi.h içinde tanımlanan değerlere ek olarak, Shlobj.h içinde tanımlanan CSIDL_Xxx değerlerinden herhangi birini kullanabilirsiniz. Bu tabloda listelenmeyen bir klasörün dirid değerini tanımlamak için, CSIDL_Xxx değerine 16384 (0x4000) ekleyin. CSIDL_Xxx değerleri hakkında daha fazla bilgi için Windows SDK belgelerine bakın.