Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Многие каталоги, отображаемые в INF-файлах, могут быть выражены с помощью идентификаторов каталогов (диридов), которые являются числами, определяющими определенные каталоги. Приложения могут использовать, но не могут переназначить системные каталоги, связанные с диридами , значения которых — от -1 до 32767.
Чтобы создать дириды с пользовательскими значениями от 32768 до 65534 или 65536 и выше, используйте функцию SetupSetDirectoryId (описанную в документации по пакету SDK Для Microsoft Windows).
Помните, что дирид со значением 65535 считается синонимом дирида со значением -1, хотя последний (dirid -1) предпочтителен.
Если вы планируете использовать дириды в INF-файле, рассмотрите следующие два правила:
Если синтаксис для записи INF-файла четко указывает значение dirid (например, в разделе INF DestinationDirs), выразите это значение в виде числа.
В следующем примере показан этот синтаксис:
[DestinationDirs] DefaultDestDir = 11 ; \system32 directory on Windows 2000 and later versions
Если синтаксис для записи INF-файла указывает путь к файлу, можно использовать подстановку строки, предоставленной системой, для представления части или всего этого пути. Эта подстановка имеет следующую форму:
% dirid%
Эта форма состоит из символа процента (%), за которым следует идентификатор каталога, который вы хотите указать, а затем следует еще один символ процента (%). Завершающий символ обратной косой черты () отделяет это выражение от следующего имени файла или дополнительных каталогов в пути.
В следующем примере показан этот синтаксис:
[aic78xx_Service_Inst] ServiceBinary = %12%\aic78xx.sys
При полном развертывании путь, показанный в предыдущем примере, становится c:\windows\system32\drivers\aic78xx.sys (если Windows установлен в каталоге c:\windows). Помните, что подстановку строки в виде %dirid% можно использовать в любом месте, где ожидается строка, за исключением раздела INF Strings инфо-файла.
В двух следующих примерах показано, как не следует использовать подстановку строк.
[DestinationDirs] DefaultDestDir = %11% ; Error! - number expected [aic78xx_Service_Inst] ServiceBinary = 12\aic78xx.sys ; Error! - unknown directory name
В первом примере синтаксис записи DefaultDestDir требует, чтобы его значение было числом. Однако выражение %11% расширяется в строку. Во втором примере средство записи INF, по-видимому, предназначено для задания значения для записи ServiceBinary в файле в каталоге, который содержит драйверы (дополнительные сведения см. в следующей таблице). Ошибка возникает из-за того, что Windows ищет указанный файл в каталоге с именем "12", который, вероятно, не существует на компьютере.
В следующей таблице показаны несколько часто используемых диридов и каталогов, которые они представляют. Значения, наиболее часто указанные в INF-файлах устройства и INF-файлах драйвера, перечислены в верхней части таблицы.
В рамках требований к изоляции пакетов драйверов драйвер должен запускаться из хранилища драйверов и использовать DIRID 13 для указания расположения файлов пакетов драйверов при установке. Начиная с Windows 11, версии 24H2, некоторые часто используемые dirids устарели при подаче вашего INF для получения подписи WHQL. Дополнительные сведения см. в разделе InfVerif /h.
Ценность | Каталог назначения | Выпуск не рекомендуется |
---|---|---|
01 |
SourceDrive:\pathname (каталог, из которого был установлен INF-файл) |
Windows 11 24H2 |
10 |
Каталог Windows. Это эквивалентно %SystemRoot%. |
|
11 |
Системный каталог. Это эквивалентно %SystemRoot%\system32 для Windows 2000 и более поздних версий Windows.. |
|
12 |
Каталог драйверов. Это эквивалентно %SystemRoot%\драйверамsystem32\ для Windows 2000 и более поздних версий Windows. |
|
13 |
Каталог Driver Store пакета драйверов. Для Windows 8.1 и более поздних версий Windows указывает путь к каталогу Магазина драйверов, в котором был импортирован пакет драйвера. Не используйте DelFiles для файла, если DestinationDirs содержит dirid 13. Необязательный подкаталог в разделе SourceDiskFiles для файла должен соответствовать подкаталогу в разделе DestinationDirs для записи, которая применяется к этому файлу. Не используйте CopyFiles для переименования файла, для которого DestinationDirs включает dirid 13. Дополнительные сведения об использовании dirid 13 см. в разделе "Запуск из хранилища драйверов". |
|
17 |
Каталог INF-файла |
Windows 11 24H2 |
18 |
Каталог справки |
Windows 11 24H2 |
20 |
Каталог шрифтов |
Windows 11 24H2 |
21 |
Каталог средств просмотра |
Windows 11 24H2 |
23 |
Каталог цветов (ICM) (не используется для установки драйверов принтера) |
|
24 |
Корневой каталог диска системы. Это корневой каталог диска, на котором установлены файлы Windows. Например, если значение dirid 10 равно C:\winnt, то значение 24 — C:\. |
Windows 11 24H2 |
25 |
Общий каталог |
Windows 11 24H2 |
30 |
Корневой каталог загрузочного диска, также известный как "системный раздел ARC". (Это может быть или не совпадать с каталогом, представленным dirid 24.) |
Windows 11 24H2 |
50 |
Системный каталог Это эквивалентно системе \%SystemRoot%. |
Windows 11 24H2 |
51 |
Каталог Spool (не используется для установки драйверов принтера — см. Printer Dirids) |
|
52 |
Каталог драйверов Spool (не используется для установки драйверов принтера) |
|
53 |
Каталог профилей пользователей |
Windows 11 24H2 |
54 |
Каталог, где находятся Ntldr.exe и Osloader.exe |
Windows 11 24H2 |
55 |
Каталог процессоров печати (не используется для установки драйверов принтера) |
|
-1 |
Абсолютный путь |
Windows 11 24H2 |
Значения dirid от 16384 до 32767 зарезервированы для специальных папок оболочки. В следующей таблице показаны значения dirid для этих папок.
Ценность | Специальная папка оболочки | Выпуск не рекомендуется |
---|---|---|
16406 |
Все пользователи\Меню "Пуск" |
Windows 11 24H2 |
16407 |
Все пользователи\Меню "Пуск"\Программы |
Windows 11 24H2 |
16408 |
Все пользователи\Меню "Пуск"\"Программы\Запуск" |
Windows 11 24H2 |
16409 |
Все пользователи\Desktop |
Windows 11 24H2 |
16415 |
Все пользователи\Избранное |
Windows 11 24H2 |
16419 |
Все пользователи\Данные приложения |
Windows 11 24H2 |
16422 |
Файлы программы |
|
16425 |
%SystemRoot%\SysWOW64 |
|
16426 |
%ProgramFiles(x86)% |
|
16427 |
Program Files\Common |
|
16428 |
%ProgramFiles(x86)%\Common |
|
16429 |
Все пользователи\Шаблоны |
Windows 11 24H2 |
16430 |
Все пользователи\Документы |
Windows 11 24H2 |
Помимо значений в этой таблице, определенных в Setupapi.h, можно использовать любое из значений CSIDL_Xxx, определенных в Shlobj.h. Чтобы задать значение dirid для папки, не перечисленной в этой таблице, добавьте 16384 (0x4000) к значению CSIDL_Xxx. Дополнительные сведения о значениях CSIDL_Xxx см. в документации по пакету SDK для Windows.