Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Muitos dos diretórios que aparecem nos ficheiros INF podem ser expressos usando identificadores de diretório (dirids), que são números que identificam diretórios específicos. As aplicações podem usar, mas não podem reatribuir, os diretórios definidos pelo sistema associados a dirids cujos valores vão de -1 a 32767.
Para criar dirids com valores definidos pelo utilizador de 32768 a 65534, ou 65536 e superiores, use a função SetupSetDirectoryId (descrita na documentação do SDK do Microsoft Windows).
Tenha em atenção que um dirid com valor 65535 é considerado sinónimo de um dirid com valor -1, embora este último (dirid -1) seja preferido.
Se pretende usar dirids no seu ficheiro INF, considere as seguintes duas diretrizes:
Quando a sintaxe de uma entrada de ficheiro INF especifica explicitamente um valor dirid (a secção INF DestinationDirs, por exemplo), expresse esse valor como um número.
O exemplo seguinte demonstra esta sintaxe:
[DestinationDirs] DefaultDestDir = 11 ; \system32 directory on Windows 2000 and later versionsQuando a sintaxe de uma entrada de ficheiro INF especifica um caminho de ficheiro, pode usar uma substituição de strings fornecida pelo sistema para representar parte ou a totalidade deste caminho. Esta substituição tem a seguinte forma:
% dirid%
Este formulário consiste num carácter percentual (%), seguido do dirid do diretório que pretende especificar, seguido de outro carácter percentual (%). Um carácter de barra invertida final () separa esta expressão de um nome de ficheiro seguinte ou de diretórios adicionais no caminho.
O exemplo seguinte demonstra esta sintaxe:
[aic78xx_Service_Inst] ServiceBinary = %12%\aic78xx.sysQuando totalmente expandido, o caminho mostrado no exemplo anterior torna-se c:\windows\system32\drivers\aic78xx.sys (assumindo que o Windows foi instalado no diretório \windows). Esteja ciente de que a substituição de cadeias, ou a forma %dirid%, pode ser usada em qualquer lugar que uma cadeia seja esperada, com exceção da secção INF Strings do ficheiro INF.
Os dois exemplos seguintes mostram como a substituição de cadeias não deve ser utilizada.
[DestinationDirs] DefaultDestDir = %11% ; Error! - number expected [aic78xx_Service_Inst] ServiceBinary = 12\aic78xx.sys ; Error! - unknown directory nameNo primeiro exemplo, a sintaxe da entrada DefaultDestDir exige que o seu valor seja um número. No entanto, a expressão %11% expande-se para uma string. No segundo exemplo, o autor do INF aparentemente pretendia definir o valor da entrada ServiceBinary para um ficheiro no diretório que contém os drivers (ver a tabela seguinte para mais informações). O erro ocorre porque o Windows procura o ficheiro especificado numa pasta chamada "12", que provavelmente não existe no computador.
A tabela seguinte mostra vários dirids comumente usados e os diretórios que representam. Os valores mais frequentemente especificados pelos ficheiros INF do dispositivo e pelos ficheiros INF do driver estão listados na parte superior da tabela.
Como parte dos requisitos de Isolamento do Pacote de Drivers, um driver deve ser Executado a partir do Driver Store e usar o DIRID 13 para especificar a localização dos ficheiros do pacote de drivers na instalação. A partir do Windows 11, versão 24H2, alguns dos dirids mais usados foram preteridos ao submeter o seu INF para assinatura WHQL. Para mais informações, consulte InfVerif /h.
| Valor | Diretório de destino | Versão descontinuada |
|---|---|---|
01 |
SourceDrive:\pathname (o diretório de onde o ficheiro INF foi instalado) |
Windows 11 24H2 |
10 |
Diretório do Windows. Isto é equivalente a %SystemRoot%. |
|
11 |
Diretório do sistema. Isto é equivalente ao %SystemRoot%\system32 para Windows 2000 e versões posteriores do Windows.. |
|
12 |
Diretório de drivers. Isto é equivalente a %SystemRoot%\system32\ para o Windows 2000 e versões posteriores do Windows. |
|
13 |
Diretório da Driver Store do pacote de drivers. Para Windows 8.1 e versões posteriores do Windows, especifica o caminho para o diretório do Driver Store onde o pacote de drivers foi importado. Não use DelFiles num ficheiro para o qual o DestinationDirs inclui dirid 13. O subdiretório opcional na secção SourceDiskFiles para um ficheiro deve corresponder ao subdiretório na secção DestinationDirs para a entrada que se aplica a este ficheiro. Não uses CopyFiles para renomear um ficheiro para o qual DestinationDirs inclui dirid 13. Para mais informações sobre o uso do dirid 13, consulte Run from Driver Store. |
|
17 |
Diretório de ficheiros INF |
Windows 11 24H2 |
18 |
Diretório de ajuda |
Windows 11 24H2 |
20 |
Diretório de fontes |
Windows 11 24H2 |
21 |
Diretório de espectadores |
Windows 11 24H2 |
23 |
Diretório de cor (ICM) (não utilizado para instalar drivers de impressora) |
|
24 |
Diretório raiz do disco do sistema. Este é o diretório raiz do disco onde os ficheiros do Windows estão instalados. Por exemplo, se dirid 10 é "C:\winnt", então dirid 24 é "C:\". |
Windows 11 24H2 |
25 |
Diretório partilhado |
Windows 11 24H2 |
30 |
Diretório raiz do disco de arranque, também conhecido como "partição do sistema ARC". (Isto pode ou não ser o mesmo diretório representado pelo dirid 24.) |
Windows 11 24H2 |
50 |
Diretório do sistema Isto é equivalente a %SystemRoot%\system. |
Windows 11 24H2 |
51 |
Diretório Spool (não usado para instalar drivers de impressora − ver Printer Dirids) |
|
52 |
Diretório de drivers de spool (não usado para instalar drivers de impressora) |
|
53 |
Diretório do perfil de utilizador |
Windows 11 24H2 |
54 |
Diretório onde se encontram Ntldr.exe e Osloader.exe |
Windows 11 24H2 |
55 |
Diretório de processadores de impressão (não usado para instalar drivers de impressora) |
|
-1 |
Caminho absoluto |
Windows 11 24H2 |
Os valores de dirid de 16384 a 32767 são reservados para pastas especiais da Shell. A tabela seguinte mostra os valores de dirid destas pastas.
| Valor | Pasta especial Shell | Versão descontinuada |
|---|---|---|
16406 |
Todos os Utilizadores\Menu Iniciar |
Windows 11 24H2 |
16407 |
Todos os Utilizadores\Menu Iniciar\Programas |
Windows 11 24H2 |
16408 |
Todos os Utilizadores\Menu Iniciar do Windows\Programas\Arranque |
Windows 11 24H2 |
16409 |
Todos os Utilizadores\Ambiente de Trabalho |
Windows 11 24H2 |
16415 |
Todos os Utilizadores\Favoritos |
Windows 11 24H2 |
16419 |
Todos os Utilizadores\Dados da Aplicação |
Windows 11 24H2 |
16422 |
Ficheiros do Programa |
|
16425 |
%SystemRoot%\SysWOW64 |
|
16426 |
%ProgramFiles(x86)% |
|
16427 |
Program Files\Common |
|
16428 |
%ProgramFiles(x86)%\Common |
|
16429 |
Todos os Utilizadores\Modelos |
Windows 11 24H2 |
16430 |
Todos os Utilizadores\Documentos |
Windows 11 24H2 |
Para além dos valores nesta tabela definidos no Setupapi.h, pode usar qualquer um dos valores CSIDL_Xxx definidos no Shlobj.h. Para definir um valor dirid para uma pasta não listada nesta tabela, adicione 16384 (0x4000) ao valor CSIDL_Xxx . Para mais informações sobre valores CSIDL_Xxx, consulte a documentação do SDK Windows.