Bagikan melalui


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 dirid yang nilainya berasal dari -1 hingga 32767.

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

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

Jika Anda ingin menggunakan dirid 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 formulir berikut:

    %dirid%

    Formulir ini terdiri dari karakter persen (%), diikuti dengan dirid untuk direktori yang ingin Anda tentukan, diikuti oleh karakter persen (%) lain. Karakter mengakhiri garis miring terbelakang () 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 diperluas sepenuhnya, jalur yang ditampilkan dalam contoh sebelumnya menjadi driver\c:\windows\system32\aic78xx.sys (dengan asumsi bahwa Windows diinstal di direktori c:\windows). Ketahuilah bahwa substitusi string, atau formulir %dirid%, dapat digunakan di mana saja string diharapkan, dengan pengecualian bagian String INF dari file INF.

    Dua contoh berikut menunjukkan bagaimana penggantian string tidak boleh 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% meluas ke string. Dalam contoh kedua, penulis INF tampaknya dimaksudkan 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 dirid 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 Isolasi Paket Driver, driver harus Dijalankan dari Penyimpanan Driver dan menggunakan DIRID 13 untuk menentukan lokasi untuk file paket driver saat diinstal. Dimulai dengan Windows 11, versi 24H2 beberapa dirid yang umum digunakan telah ditolak saat mengirimkan INF Anda untuk tanda tangan WHQL. Untuk informasi selengkapnya, lihat InfVerif /h.

Nilai Direktori Tujuan Rilis Tidak Digunakan Lagi

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 driver %SystemRoot%\system32\untuk Windows 2000 dan versi Windows yang lebih baru.

13

Direktori Driver Store paket driver.

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

Jangan gunakan DelFiles pada file tempat 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 tempat DestinationDirs menyertakan diri 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 pemirsa

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 sistem %SystemRoot%\.

Windows 11 24H2

51

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

52

Direktori pengandar penampung (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 Tidak Digunakan Lagi

16406

Semua Pengguna\Menu Mulai

Windows 11 24H2

16407

Semua Pengguna\Menu Mulai\Program

Windows 11 24H2

16408

Semua Pengguna\Menu Mulai\Program\Startup

Windows 11 24H2

16409

Semua Pengguna\Desktop

Windows 11 24H2

16415

Semua Pengguna\Favorit

Windows 11 24H2

16419

Semua Pengguna\Data Aplikasi

Windows 11 24H2

16422

File Program

16425

%SystemRoot%\SysWOW64

16426

%ProgramFiles(x86)%

16427

File Program\Umum

16428

%ProgramFiles(x86)%\Common

16429

Semua Pengguna\Templat

Windows 11 24H2

16430

Semua Pengguna\Dokumen

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 Windows SDK.