Menggunakan Dirids

Banyak direktori yang muncul dalam file INF dapat diekspresikan dengan menggunakan pengidentifikasi direktori (dirids), yang merupakan angka yang mengidentifikasi direktori tertentu. Aplikasi dapat menggunakan, tetapi tidak dapat menetapkan ulang direktori yang ditentukan sistem yang terkait dengan dirids yang nilainya berasal dari -1 hingga 32767.

Untuk membuat dirids dengan nilai yang ditentukan pengguna dari 32768 hingga 65534, atau 65536 ke atas, gunakan fungsi SetupSetDirectoryId (dijelaskan dalam dokumentasi SDK Microsoft Windows).

Ketahuilah bahwa dirid dengan nilai 65535 dianggap identik dengan dirid dengan nilai -1, meskipun yang terakhir (dirid -1) lebih disukai.

Jika Anda ingin menggunakan dirids dalam file INF Anda, pertimbangkan dua panduan berikut:

  1. Saat sintaks untuk entri file INF secara eksplisit menentukan nilai dirid ( bagian INF DestinationDirs, misalnya), ekspres nilai tersebut sebagai angka.

    Contoh berikut menunjukkan sintaks ini:

    [DestinationDirs]
    DefaultDestDir = 11  ;  \system32 directory on Windows 2000 and later versions
    
  2. Saat sintaks untuk entri file INF menentukan jalur file, Anda dapat menggunakan penggantian string yang disediakan sistem untuk mewakili bagian atau semua jalur ini. Penggantian ini memiliki bentuk berikut:

    % dirid%

    Formulir ini terdiri dari karakter persen (%), diikuti oleh dirid untuk direktori yang ingin Anda tentukan, diikuti oleh karakter persen (%) lainnya. Karakter backslash penutup () memisahkan ekspresi ini dari nama file berikut atau direktori tambahan di jalur.

    Contoh berikut menunjukkan sintaks ini:

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

    Ketika sepenuhnya diperluas, jalur yang ditampilkan dalam contoh sebelumnya menjadi c:\windows\system32\drivers\aic78xx.sys (dengan asumsi bahwa Windows diinstal di direktori c:\windows). Ketahuilah bahwa substitusi string, atau bentuk %dirid%, dapat digunakan di mana pun string diharapkan, dengan pengecualian bagian INF Strings dari file INF.

    Dua contoh berikut menunjukkan bagaimana penggantian string seharusnya tidak digunakan.

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

    Dalam contoh pertama, sintaks untuk entri DefaultDestDir mengharuskan nilainya menjadi angka. Namun, ekspresi %11% diperluas ke string. Dalam contoh kedua, penulis INF tampaknya bermaksud untuk mengatur nilai untuk entri ServiceBinary ke file di direktori yang berisi driver (lihat tabel berikut untuk informasi selengkapnya). Kesalahan terjadi karena Windows mencari file yang ditentukan dalam direktori bernama "12", yang mungkin tidak ada di komputer.

Tabel berikut ini memperlihatkan beberapa dirids yang umum digunakan, dan direktori yang diwakilinya. Nilai yang paling umum ditentukan oleh file INF perangkat dan file INF driver tercantum di bagian atas tabel.

Sebagai bagian dari persyaratan Driver Package Isolation, driver harus Run from Driver Store dan menggunakan DIRID 13 untuk menentukan lokasi file paket driver saat diinstal. Dimulai dengan Windows 11, versi 24H2, beberapa dirid yang umum digunakan telah tidak digunakan lagi saat mengirimkan INF Anda untuk tanda tangan WHQL. Untuk informasi selengkapnya, lihat InfVerif /h.

Nilai Direktori Tujuan Tandai rilis sebagai usang

01

SourceDrive:\pathname (direktori tempat file INF diinstal)

Windows 11 24H2

10

direktori Windows.

Ini setara dengan %SystemRoot%.

11

Direktori sistem.

Ini setara dengan %SystemRoot%\system32 untuk Windows 2000 dan versi Windows yang lebih baru..

12

Direktori driver.

Ini setara dengan %SystemRoot%\\ untuk Windows 2000 dan versi Windows yang lebih baru.

13

Direktori Driver Store pada paket driver.

Untuk Windows 8.1 dan versi Windows yang lebih baru, menentukan jalur ke direktori Penyimpanan Driver tempat paket driver diimpor.

Jangan gunakan DelFiles untuk file yang DestinationDirs menyertakan dirid 13.

Subdirektori opsional di bagian SourceDiskFiles untuk file harus cocok dengan subdirektori di bagian DestinationDirs untuk entri yang berlaku untuk file ini.

Jangan gunakan CopyFiles untuk mengganti nama file yang DestinationDirs-nya menyertakan dirid 13.

Untuk informasi selengkapnya tentang menggunakan dirid 13, lihat Menjalankan dari Driver Store.

17

Direktori file INF

Windows 11 24H2

18

Direktori bantuan

Windows 11 24H2

20

Direktori font

Windows 11 24H2

21

Direktori penonton

Windows 11 24H2

23

Direktori warna (ICM) (tidak digunakan untuk menginstal pengandar pencetak)

24

Direktori akar disk sistem.

Ini adalah direktori akar disk tempat file Windows diinstal. Misalnya, jika dirid 10 adalah "C:\winnt", maka dirid 24 adalah "C:\".

Windows 11 24H2

25

Direktori bersama

Windows 11 24H2

30

Direktori akar disk boot, juga dikenal sebagai "partisi sistem ARC". (Ini mungkin atau mungkin bukan direktori yang sama dengan direktori yang diwakili oleh dirid 24.)

Windows 11 24H2

50

Direktori sistem

Ini setara dengan %SystemRoot%\.

Windows 11 24H2

51

Direktori penampung (tidak digunakan untuk menginstal driver printer − lihat Printer Dirids)

52

Direktori driver spool (tidak digunakan untuk menginstal pengandar pencetak)

53

Direktori profil pengguna

Windows 11 24H2

54

Direktori tempat Ntldr.exe dan Osloader.exe berada

Windows 11 24H2

55

Direktori prosesor cetak (tidak digunakan untuk menginstal pengandar pencetak)

-1

Jalur absolut

Windows 11 24H2

Nilai dirid dari 16384 hingga 32767 disediakan untuk folder shell khusus. Tabel berikut ini memperlihatkan nilai dirid untuk folder ini.

Nilai Folder khusus Shell Rilis usang

16406

All Users\Start Menu

Windows 11 24H2

16407

Semua Pengguna\Menu Mulai\Programs

Windows 11 24H2

16408

All Users\Start Menu\Programs\Startup

Windows 11 24H2

16409

All Users\Desktop

Windows 11 24H2

16415

All Users\Favorit

Windows 11 24H2

16419

Semua Pengguna\Data Aplikasi

Windows 11 24H2

16422

Program Files

16425

%SystemRoot%\SysWOW64

16426

%ProgramFiles(x86)%

16427

Program Files\Common

16428

%ProgramFiles(x86)%\Common

16429

Semua Pengguna\Templat

Windows 11 24H2

16430

All Users\Documents

Windows 11 24H2

Selain nilai dalam tabel ini yang ditentukan dalam Setupapi.h, Anda dapat menggunakan salah satu nilai CSIDL_Xxx yang ditentukan dalam Shlobj.h. Untuk menentukan nilai dirid untuk folder yang tidak tercantum dalam tabel ini, tambahkan 16384 (0x4000) ke nilai CSIDL_Xxx . Untuk informasi selengkapnya tentang nilai CSIDL_Xxx, lihat dokumentasi SDK Windows.