INF-karakterláncok szakasza

Az INF-fájloknak rendelkezniük kell legalább egy sztringszakaszlal az inf fájlban máshol megadott összes %strkey% jogkivonat definiálásához.

[Strings] | 
[Strings.LanguageID] ...
 
strkey1 = ["]some string["]
strkey2 = "    string-with-leading-or-trailing-whitespace     "  | 
          "very-long-multiline-string" | 
          "string-with-semicolon" | 
          "string-ending-in-backslash" |
          ""double-quoted-string-value""
 ...

Bejegyzések

strkey1, strkey2, ...
Az INF-fájlok minden sztringkulcsának egyedi nevet kell megadnia, amely betűkből, számjegyekből és/vagy más explicit módon látható karakterekből áll. Egy ilyen strkey-jogkivonaton belüli % karaktert %%a következőképpen kell kifejezni: .

néhány sztring | "néhány sztring"
Olyan sztringet határoz meg, amelyet igény szerint kettős idézőjelek ((") használatával kell elválasztania, amely betűket, számjegyeket, írásjeleket és esetleg bizonyos implicit módon látható karaktereket, különösen belső szóközöket és/vagy tabulátorkaraktereket tartalmaz. A nem kvótált sztringek azonban nem tartalmazhatnak belső idézőjeleket ("), pontosvesszőt (;), linefeed, return vagy láthatatlan vezérlőkarakterek), és nem tartalmazhatnak fordított perjelet () végső karakterként.

"* sztring-a-leading-or-trailing-whitespace* " |

"nagyon hosszú-többsoros sztring" |

"sztring pontosvesszővel" |

"string-end-in-backslash" |

""double-quoted-string-value""
A %strkey% jogkivonathoz megadott értéket idézőjelek (") közé kell foglalni, ha megfelel az alábbi feltételek bármelyikének:

  • Ha egy adott sztring olyan kezdő vagy záró szóközzel rendelkezik, amelyet az érték részeként meg kell őrizni, a sztringet idézőjelek közé kell foglalni, hogy megakadályozza, hogy az INF-elemző elvetje a kezdő és/vagy záró szóközöket.

  • Ha egy hosszú sztring belső sortörési vagy visszatérési karaktereket tartalmazhat a szövegszerkesztő sortörése miatt, akkor azt idézőjelek közé kell foglalni, hogy megakadályozza a sztring csonkolását a kezdeti belső vonalcsatornában vagy a visszatérési karakterben.

  • Ha egy ilyen sztring pontosvesszőt tartalmaz, dupla idézőjelek közé kell tenni, hogy megakadályozza a sztring csonkítását a pontosvesszőn. (Ahogy az INF-fájlok általános szintaxisi szabályaiban már említettük, a pontosvessző karakter minden megjegyzést INF-fájlokban kezd el.)

  • Ha egy ilyen sztring fordított perjelben végződik, dupla idézőjelek közé kell tenni, hogy megakadályozza a sztring összefűzését a következő bejegyzéssel. (Ahogy az INF-fájlok általános szintaxisi szabályaiban már említettük, a fordított perjel karakter () az INF-fájlok vonalkontinuátoraként használatos.)

  • A nem kvótált sztringspecifikációkhoz hasonlóan az ilyen "idézett sztringek" nem tartalmazhatnak belső idézőjeleket. Azonban explicit módon idézőjelként is megadható egy vagy több idézőjeljelpár (például ""néhány sztring") használatával.

    Az INF-elemző nem csak elveti az ebben a szakaszban szereplő "idézett sztringekhez" tartozó idézőjelek legkülső párját, hanem az egyes egymást követő idézőjelpárokat is egyetlen idézőjelbe tömöríti.

    A """some string"" például "néhány sztring" lesz, amikor elemezve van.

Összegzésként minden sztringet kettős idézőjeljelek (") közé kell foglalni, ha az alábbiak bármelyike igaz:

  • A sztring kezdő vagy záró szóközt tartalmaz.
  • A sztring olyan hosszú, hogy sortörést tartalmaz.
  • A sztring pontosvesszőt vagy utolsó fordított perjelet tartalmaz.
  • Maga a sztring egy idézett sztring.

A rendszer INF-elemzője elveti az ilyen sztringet elválasztó kettős idézőjelek legkülső párját, valamint a kettős idézőjelek sztringelválasztóin kívüli kezdő vagy záró szóköz karaktereket.

Remarks

Mivel a rendszer INF-elemzője az idézőjelek legkülső párját eltávolítja a %strkey% tokent meghatározó "idézett sztringből", a rendszer INF-fájljainak nagy része "idézőjeles sztringként" definiálja az összes %strkey% tokent, hogy elkerülje a kezdő és záró szóközök nem szándékos elvesztését az INF-elemzés során. Az "idézett sztringek" használata azt is biztosítja, hogy különösen a sorok között körbefuttatott hosszú sztringértékek ne csonkolhatók, és hogy a fordított perjeleket tartalmazó sztringek ne fűzhetők össze az INF-fájl következő sorához.

Egyetlen nemzetközi INF-fájl létrehozásához egy INF-fájl területi adottságú sztringekkel is rendelkezhet.LanguageID-szakaszok, a formális szintaxis utasításában látható módon. A LanguageID-bővítmény egy 4 számjegyű hexadecimális érték (0x kezdő nélkül), amely a következőképpen van definiálva:

  • Az alsó 10 bit tartalmazza az elsődleges nyelv azonosítóját, a következő 6 bit pedig a Winnt.h-ban definiált MAKELANGID makró által megadott alnyelv-azonosítót.
  • A nyelvnek és az alnyelvi azonosítóknak meg kell egyezniük a Winnt.h-ban definiált Win32 LANG_XXX és SUBLANG_XXX-állandók rendszer által definiált értékeivel.

A 0407-as LanguageID érték például LANG_GERMAN (07) elsődleges nyelvi azonosítóját jelöli, amely SUBLANG_GERMAN (01) alnyelvi azonosítóval rendelkezik, például az alábbi példában:

[Strings]              ; No language ID implies English
DiskName="My Excellent Software"
LocaleSubDir="English"

[Strings.0407]         ; 0407 is the language ID for German
DiskName="Meine ausgezeichnete Software"
LocaleSubDir="German"

Az INF-fájlok csak egy sztringszakaszt és egy sztringet tartalmazhatnak.LanguageID szakasz minden LanguageID-értékhez .

Windows kijelöl egy sztringszakaszt, amely a telepítéshez használt összes %strkey% token fordítására szolgál. Az adott számítógép aktuális területi beállításától függően Windows a sztringek szakaszt a következő módon választja ki:

  1. Windows először a . LanguageID-értékek az INF-ben, amelyek megfelelnek a számítógéphez rendelt aktuális területi beállításnak. Ha pontos egyezést talál, Windows a sztringeket használja.LanguageID INF-szakasz az INF-ben definiált összes %strkey% jogkivonat fordításához.

    Minden karakterlánc-jogkivonatot meg kell duplikálnia az összes sztringben.* szakaszokat, még azokat a numerikus/rögzített állandókat is, amelyeket nem kell lokalizálni.

  2. Ellenkező esetben Windows a LANG_XXX értéknek megfelelő SUBLANG_NEUTRAL SUBLANG_XXX értéket keresi. Ha ilyen egyezést talál, Windows ezt az INF-szakaszt használja az INF-ben definiált összes %strkey% jogkivonat fordítására.

  3. Ellenkező esetben Windows a LANG_XXX értéknek és az ugyanazon LANG_XXX-családhoz tartozó érvényes SUBLANG_XXX értéknek megfelelőt keresi. Ha ilyen részleges egyezést talál, használja a sztringeket.LanguageID INF-szakasz az INF-ben definiált összes %strkey% jogkivonat fordításához.

  4. Ellenkező esetben Windows a leválasztott sztringek szakaszt használja az INF-ben definiált %strkey% jogkivonatok fordítására.

Konvenció szerint, és a nemzetközi piacon az INF-fájlok készletének létrehozásakor a sztringszakaszok az utolsók az összes rendszer INF-fájljában. Ha %strkey% tokeneket használ az INF-ben lévő összes felhasználó által látható sztringértékhez, és területi sztringek szerint helyezi el őket, egyszerűbbé teszi az ilyen sztringek fordítását. A területi beállításokra vonatkozó INF-fájlokról további információt a Nemzetközi INF-fájlok létrehozása című témakörben talál.

Bár a sztringszakaszok minden INF-fájl utolsó szakaszai, a sztringek szakaszban definiált megadott %strkey% tokenek az INF más részein is használhatók, különösen ott, ahol a jogkivonat lefordított értéke szükséges. A SetupAPI-függvények kibontják az egyes %strkey% jogkivonatokat a megadott sztringre, majd ezt a kibontott értéket használják további INF-feldolgozáshoz.

A %strkey% tokenek használata az INF-fájlokban nem korlátozódik a felhasználó által látható sztringértékekre. Ezek a jogkivonatok bármilyen módon használhatók az INF-író számára, feltéve, hogy az egyes jogkivonatok a Sztringek szakaszban vannak definiálva. Ha például olyan INF-fájlt ír, amely több GRAFIKUS GUID specifikációját igényli, célszerű lehet %strkey% jogkivonatot létrehozni minden GUID-érték helyett egy értelmes névvel.

Ha az INF-fájl Sztringek szakaszában megad egy %strkey% = "{GUID}" értékeket, az egyes explicit GUID-értékeket csak egyszer kell beírnia. Ez segíthet olvashatóbb belső INF-dokumentációt nyújtani, mint az INF-fájlban kifejezett GUID-értékek használatával.

Az összes %strkey% jogkivonatot abban az INF-fájlban kell definiálni, amelyben hivatkoznak rájuk. Ezért minden olyan INF-fájl esetében, amely tartalmaz és igényel bejegyzéseket, a belefoglalt INF-fájlnak saját Sztringek szakaszával kell rendelkeznie az adott INF-ben hivatkozott összes %strkey%-jogkivonat meghatározásához.

Az INF-sztringek szakaszban a helyettesítő sztringek maximális hossza karakterekben, beleértve a null karaktert is, 4096 (Windows Vista és a Windows későbbi verziói) és 512 (2003 Windows Server, Windows XP és 2000 Windows). A sztring helyettesítése után az INF-fájlsztringek maximális hossza karakterben 4096, beleértve a végződő NULL karaktert is.

Examples

Az alábbi példa egy sztringszakasz töredékét mutatja be egy rendszer által biztosított területi beállításspecifikus dvd.inf fájlból az angol nyelvű országokban/régiókban található telepítésekhez.

[Strings]
Msft="Microsoft"
MfgToshiba="Toshiba"
Tosh404.DeviceDesc="Toshiba DVD decoder card"
; ... 

Az alábbi példa sztringösszefűzést mutat be.

[OEM Windows System Component Verification]
OID = 1.3.6.1.4.1.311.10.3.7    ; WHQL OEM OID 
Notice = "%A% %B% %C% %D% %E%" 
[Strings]
A = "This certificate is used to sign untested drivers that have not passed the Windows Hardware Quality Labs (WHQL) testing process."
B = "This certificate and drivers signed with this certificate are intended for use in test environments only, and are not intended for use in any other context."
C = "Vendors who distribute this certificate or drivers signed with this certificate outside a test environment may be in violation of their driver signing agreement."
D = "Vendors who have their drivers signed with this certificate do so at their own risk." 
E = "In particular, Microsoft assumes no liability for any damages that may result from the distribution of this certificate or drivers signed with this certificate outside the test environment described in a vendor's driver signing agreement."

Lásd még

DDInstall

DDInstall. CoInstallers

DDInstall. HW

DDInstall. Interfészek

DDInstall. Szolgáltatások

Gyártó

InterfaceInstall32

Modellek

SourceDisksNames

Verzió