Delen via


Dirids gebruiken

Veel van de mappen die in INF-bestanden worden weergegeven, kunnen worden uitgedrukt met behulp van map-id's (diriden), die getallen zijn die specifieke mappen identificeren. Toepassingen kunnen de systeem gedefinieerde mappen die zijn gekoppeld aan dirids waarvan de waarden variëren van -1 tot en met 32767 gebruiken, maar kunnen deze niet opnieuw toewijzen.

Als u diriden wilt maken met door de gebruiker gedefinieerde waarden van 32768 tot en met 65534 of 65536 en hoger, gebruikt u de functie SetupSetDirectoryId (beschreven in de Microsoft Windows SDK-documentatie).

Houd er rekening mee dat een dorid met een waarde van 65535 wordt beschouwd als synoniem voor een dorid met een waarde van -1, hoewel de laatste (dirid -1) de voorkeur heeft.

Als u van plan bent dirids in uw INF-bestand te gebruiken, moet u rekening houden met de volgende twee richtlijnen.

  1. Wanneer de syntaxis voor een INF-bestandsvermelding expliciet een dirid-waarde (bijvoorbeeld de sectie INF DestinationDirs) aangeeft, wordt die waarde als een getal weergegeven.

    In het volgende voorbeeld ziet u deze syntaxis:

    [DestinationDirs]
    DefaultDestDir = 11  ;  \system32 directory on Windows 2000 and later versions
    
  2. Wanneer de syntaxis voor een INF-bestandsvermelding een bestandspad opgeeft, kunt u een door het systeem geleverde tekenreeks vervangen om een deel of al dit pad weer te geven. Deze vervanging heeft de volgende vorm:

    % dirid%

    Dit formaat bestaat uit een procentteken (%), gevolgd door het dirid voor de map die u wilt specificeren, gevolgd door een ander procentteken (%). Een afsluitend backslashteken () scheidt deze expressie van een volgende bestandsnaam of extra mappen in het pad.

    In het volgende voorbeeld ziet u deze syntaxis:

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

    Wanneer het pad in het vorige voorbeeld volledig is uitgevouwen, wordt c:\windows\system32\drivers\aic78xx.sys (ervan uitgaande dat Windows is geïnstalleerd in de c:\windows-directory). Houd er rekening mee dat de tekenreeksvervanging, of %dirid% formulier, overal kan worden gebruikt waar een tekenreeks wordt verwacht, met uitzondering van de sectie INF-tekenreeksen van het INF-bestand.

    In de twee volgende voorbeelden ziet u hoe tekenreeksvervanging niet mag worden gebruikt.

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

    In het eerste voorbeeld vereist de syntaxis voor de vermelding DefaultDestDir dat de waarde een getal is. De %11%-expressie wordt echter uitgebreid naar een tekenreeks. In het tweede voorbeeld was de INF-schrijver blijkbaar van plan om de waarde voor de ServiceBinary-vermelding in te stellen op een bestand in de map die stuurprogramma's bevat (zie de volgende tabel voor meer informatie). De fout treedt op omdat Windows zoekt naar het opgegeven bestand in een map met de naam 12, die waarschijnlijk niet bestaat op de computer.

In de volgende tabel ziet u verschillende veelgebruikte diriden en de mappen die ze vertegenwoordigen. De waarden die het meest worden opgegeven door INF-bestanden van het apparaat en stuurprogramma-INF-bestanden, worden boven aan de tabel weergegeven.

Als onderdeel van de vereisten voor stuurprogrammapakketisolatie moet een stuurprogramma worden uitgevoerd vanuit de Driver Store en DIRID 13 gebruiken om de locatie op te geven voor stuurprogrammapakketbestanden op de installatie. Vanaf Windows 11, versie 24H2, zijn sommige veelgebruikte dirids verouderd verklaard bij het indienen van uw INF voor een WHQL-handtekening. Zie InfVerif /h voor meer informatie.

Waarde Doelmap Release verouderd verklaard

01

SourceDrive:\pathname (de map waaruit het INF-bestand is geïnstalleerd)

Windows 11 24H2

10

Windows-map.

Dit komt overeen met %SystemRoot%.

11

Systeemmap.

Dit komt overeen met %SystemRoot%\system32 voor Windows 2000 en latere versies van Windows..

12

Map met stuurprogramma's.

Dit komt overeen met %SystemRoot%\system32-stuurprogramma's\ voor Windows 2000 en latere versies van Windows.

13

Driver package's Driver Store directory.

Voor Windows 8.1 en latere versies van Windows geeft u het pad op naar de map Driver Store waarin het stuurprogrammapakket is geïmporteerd.

Gebruik DelFiles niet voor een bestand waarvoor DestinationDirsdirid 13 bevat.

De optionele submap in de sectie SourceDiskFiles voor een bestand moet overeenkomen met de submap in de sectie DestinationDirs voor de vermelding die van toepassing is op dit bestand.

Gebruik CopyFiles niet om de naam van een bestand te wijzigen waarvoor DestinationDirsdirid 13 bevat.

Zie Uitvoeren vanuit driver store voor meer informatie over het gebruik van dirid 13.

17

INF-bestandsmap

Windows 11 24H2

18

Help-directory

Windows 11 24H2

20

Lettertypenmap

Windows 11 24H2

21

Kijkersdirectory

Windows 11 24H2

23

Kleurenmap (ICM) (niet gebruikt voor het installeren van printerstuurprogramma's)

24

Hoofdmap van de systeemschijf.

Dit is de hoofdmap van de schijf waarop Windows-bestanden zijn geïnstalleerd. Als dirid 10 bijvoorbeeld "C:\winnt" is, dan is dirid 24 "C:\".

Windows 11 24H2

25

Gedeelde map

Windows 11 24H2

30

Hoofdmap van de opstartschijf, ook wel bekend als 'ARC-systeempartitie'. (Dit kan wel of niet dezelfde map zijn als de map die wordt vertegenwoordigd door dirid 24.)

Windows 11 24H2

50

Systeemmap

Dit komt overeen met %SystemRoot%\systeem.

Windows 11 24H2

51

Spoolmap (niet gebruikt voor het installeren van printerstuurprogramma's - zie Printer Dirids)

52

Adreslijst voor spoolstuurprogramma's (niet gebruikt voor het installeren van printerstuurprogramma's)

53

Gebruikersprofielmap

Windows 11 24H2

54

Map waar Ntldr.exe en Osloader.exe zich bevinden

Windows 11 24H2

55

Map afdrukverwerkers (wordt niet gebruikt voor de installatie van printerstuurprogramma's)

-1

Absoluut pad

Windows 11 24H2

Dirid-waarden van 16384 tot en met 32767 zijn gereserveerd voor speciale shellmappen. In de volgende tabel ziet u dirid-waarden voor deze mappen.

Waarde Shell Speciale Folder Release afgeschaft

16406

Alle gebruikers\Startmenu

Windows 11 24H2

16407

Alle gebruikers\Startmenu\Programma's

Windows 11 24u2

16408

Alle gebruikers\Startmenu\Programma's\Opstarten

Windows 11 24u2

16409

Alle gebruikers\Desktop

Windows 11 24u2

16415

Alle gebruikers\Favorieten

Windows 11 24H2

16419

Alle gebruikers\toepassingsgegevens

Windows 11 24H2

16422

Program Files

16425

%SystemRoot%\SysWOW64

16426

%ProgramFiles(x86)%

16427

Program Files\Common

16428

%ProgramFiles(x86)%\Common

16429

Alle gebruikers\sjablonen

Windows 11 24u2

16430

Alle gebruikers\documenten

Windows 11 24H2

Naast de waarden in deze tabel die zijn gedefinieerd in Setupapi.h, kunt u een van de CSIDL_Xxx-waarden gebruiken die zijn gedefinieerd in Shlobj.h. Als u een dirid-waarde wilt definiëren voor een map die niet in deze tabel wordt vermeld, voegt u 16384 (0x4000) toe aan de CSIDL_Xxx-waarde . Zie de Windows SDK-documentatie voor meer informatie over CSIDL_Xxx-waarden .