Not
Åtkomst till denna sida kräver auktorisation. Du kan prova att logga in eller byta katalog.
Åtkomst till denna sida kräver auktorisation. Du kan prova att byta katalog.
Viktig
Den moderna utskriftsplattformen är Windows bästa sätt att kommunicera med skrivare. Vi rekommenderar att du använder Microsofts IPP-drivrutin för inkorgsklass tillsammans med Print Support Apps (PSA) för att anpassa utskriftsupplevelsen i Windows 10 och 11 för enhetsutveckling av skrivare.
Mer information finns i designguiden för utskriftssupportapp v1 och v2.
GPD-filer kan innehålla förprocessordirektiv, som kan användas för att styra villkorsstyrd parsning av avsnitt i GPD-filen. I följande tabell beskrivs de förprocessordirektiv som kan användas i GPD-filer.
| Förprocessordirektiv | Definition |
|---|---|
| * Definiera: SymbolName | Definierar en symbol. |
| * Undefiniera: SymbolName | Tar bort en tidigare definierad symbol. |
| * Ifdef: SymbolName | Anger början på ett GPD-filpostblock. Om den angivna symbolen har definierats bearbetas GPD-filposterna mellan det här direktivet och nästa *Ifdef**, *Elseifdef, *Elseeller *Endif-direktivet av GPD-parsaren. |
| * Elseifdef : SymbolName | Om den angivna symbolen har definierats och symbolen som angavs i föregående *Ifdef eller *Elseifdef direktiv är odefinierad, GPD-filposterna mellan det här direktivet och nästa *Ifdef, *Elseifdef, *Elseeller *Endif-direktivet bearbetas av GPD-parsern. |
| * Annars: | Om symbolen som angavs i föregående *Ifdef eller *Elseifdef direktiv är odefinierad, bearbetas GPD-filposterna mellan det här direktivet och nästa *Ifdef eller *Endif-direktivet av GPD-parsaren. |
| * Endif: | Anger slutet på ett block med GPD-filposter. |
| * Inkludera: "Filnamn" | Anger namnet på en ytterligare GPD-fil. Mer information finns i Använda flera GPD-filer i en minidrivrutin. |
| * SetPPPrefix : PrefixString | Ändrar prefixsträngen som läggs till i förprocessordirektiv. Mer information finns i avsnittet Ändra preprocessordirektivets prefix. |
Villkorliga preprocessordirektiv kan nästlas. På varje kapslingsnivå är sekvensen för användning av villkorliga preprocessordirektiv följande:
* Ifdef: Symbol1 GPD-filavsnitt
* Elseifdef: Symbol2 GPD-filavsnitt
* Elseifdef: Symbol3 GPD-filavsnitt
* Elseifdef: Symbol4 GPD-filavsnitt
...
* Else: GPD-filavsnitt
* Endif:
För varje *Ifdef- direktiv som används krävs *Endif. Direktiven *Elseifdef och *Else är valfria. Varje GPD-filavsnitt kan innehålla GPD-filposter och, om du vill, en kapslad sekvens med direktiv för villkorlig preprocessor.
Alla symboler som definieras med *Definiera förblir definierade tills de uttryckligen är odefinierade med *Odefinierad.
Med direktivet *Include kan du ange namnet på en ytterligare GPD-fil. Mer information finns i Använda flera GPD-filer i en minidrivrutin.
Observera att posten *IgnoreBlock GPD inte påverkar förprocessordirektiven eftersom preprocessorn körs före GPD-parsern.
Ändra preprocessordirektivets prefix
Med direktivet *SetPPPrefix kan du ändra prefixet som används med preprocessordirektiv. Det vill säga att du kan använda det här direktivet för att ersätta asterisktecknet (*) som förbereder förprocessordirektiven med ett annat tecken eller en annan sträng.
Om din GPD-fil till exempel innehåller följande direktiv:
*SetPPPrefix: #SpecialPrefix#
sedan slutar förprocessorn att söka efter förprocessordirektiv som börjar med * och söker i stället efter direktiv som börjar med #SpecialPrefix#. Följande sekvens ändrar tillfälligt preprocessorprefixet till #SpecialPrefix#och återställer det sedan till *.
*SetPPPrefix: #SpecialPrefix#
#SpecialPrefix#Ifdef: WINNT_50
#SpecialPrefix#Include: "ExtraGPD.gpd"
#SpecialPrefix#Endif:
#SpecialPrefix#SetPPPrefix: *
Det primära syftet med den här funktionen är att tillåta att GPD-filer som skrivits för framtida operativsystemversioner är kompatibla med Windows 2000. Anta till exempel att GPD-filer för en framtida version av operativsystemet kan innehålla GPD-filposter som står i konflikt med de asteriskprefixerade preprocessordirektiv som stöds av Windows 2000. Genom att ändra prefixet kan en GPD-fil som skrivits för den framtida operativsystemversionen också användas med Windows 2000. Ett exempel kan vara konstruerat på följande sätt:
*Ifdef: WINNT_70
*SetPPPrefix: #SpecialPrefix#
*% Do special, OS-specific processing of
*% GPD file entries that might conflict with
*% asterisk-prefixed preprocessor directives.
#SpecialPrefix#SetPPPrefix: *
*Endif:
Observera att den här tekniken bara ändrar prefixet som preprocessorn söker efter. Nyckelord som identifieras av parsern måste alltid föregås av en asterisk.
Fördefinierade förprocessorsymboler
Microsoft definierar följande preprocessorsymboler.
| Symbol | Där det definieras | Definition |
|---|---|---|
| WINNT_51 | GPD-förprocessor för Windows XP | Miljö är Windows XP. |
| WINNT_50 | GPD-förprocessor för Windows XP och Windows 2000 | Miljön är Windows 2000. |
| WINNT_40 | GPD-förprocessorer för Windows XP, Windows 2000 och Windows NT 4.0 | Miljön är Windows NT 4.0. |
| PARSER_VER_1.0 | GPD-förprocessorer för Windows NT 4.0, Windows 2000 och Windows XP | GPD-parser version 1.0 |
Symbolerna WINNT_40, WINNT_50 och WINNT_51 är användbara för att skapa GPD-filer som är kompatibla med Windows NT 4.0, Windows 2000 och Windows XP. Om till exempel Windows XP stöder en skrivarfunktion som inte stöds av Windows 2000 kan den funktionen anges i ett GPD-filavsnitt som begränsas av *Ifdef: WINNT_51 och *Endif-direktiv.