Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Belangrijk
Het moderne afdrukplatform is de voorkeursmiddel van Windows om te communiceren met printers. We raden aan om de IPP inbox class driver van Microsoft te gebruiken, samen met Print Support Apps (PSA), om de afdrukervaring in Windows 10 en 11 aan te passen voor de ontwikkeling van printerapparaten.
Zie de ontwerphandleiding voor Print Support App v1 en v2 voor meer informatie.
GPD-bestanden kunnen preprocessorrichtlijnen bevatten, die kunnen worden gebruikt om voorwaardelijke parsering van secties in het GPD-bestand te beheren. In de volgende tabel worden de preprocessorrichtlijnen beschreven die kunnen worden gebruikt in GPD-bestanden.
| PreprocessorDirective | Definitie |
|---|---|
| * Definiëren: SymbolName | Hiermee definieert u een symbool. |
| * Ongedaan maken: SymbolName | Hiermee verwijdert u een eerder gedefinieerd symbool. |
| * Ifdef: SymbolName | Geeft het begin aan van een blok GPD-bestandsvermeldingen. Als het opgegeven symbool is gedefinieerd, worden de GPD-bestandsvermeldingen tussen deze richtlijn en de volgende *Ifdef**, *Elseifdef, *Else, of *Endif-instructie verwerkt door de GPD-parser. |
| * Elseifdef : SymbolName | Als het opgegeven symbool is gedefinieerd en het symbool dat is opgegeven door de vorige *Ifdef - of *Elseifdef-instructie niet is gedefinieerd, worden de GPD-bestandsvermeldingen tussen deze richtlijn en de volgende *Ifdef, *Elseifdef, *Else of *Endif-instructie verwerkt door de GPD-parser. |
| * Anders: | Als het symbool dat is opgegeven door de vorige *Ifdef - of *Elseifdef-instructie niet is gedefinieerd, worden de GPD-bestandsvermeldingen tussen deze richtlijn en de volgende *Ifdef - of *Endif-instructie verwerkt door de GPD-parser. |
| * Endif: | Hiermee wordt het einde van een blok GPD-bestandsvermeldingen aangegeven. |
| * Include: "FileName" | Hiermee geeft u de naam van een extra GPD-bestand. Zie Meerdere GPD-bestanden gebruiken in een Minidriver-voor meer informatie. |
| * SetPPPrefix : PrefixString | Hiermee wijzigt u de tekenreeks voor het voorvoegsel die is voorafgegaan aan preprocessorrichtlijnen. Zie de sectie Voorvoegsel voor de preprocessorrichtlijn wijzigen voor meer informatie. |
Voorwaardelijke preprocessorrichtlijnen kunnen genest worden. Op elk nestniveau is de volgorde voor het gebruik van voorwaardelijke preprocessorrichtlijnen als volgt:
* Ifdef: GPD-bestandssectie symbool1
* Elseifdef: GPD-bestandssectie Symbol2
* Elseifdef: GPD-bestandsectie symbool3
* Elseifdef: sectie Symbool4 GPD-bestand
...
* Anders: sectie GPD-bestand
* Endif:
Voor elke gebruikte *Ifdef-instructie is *Endif vereist. De instructies *Elseifdef en *Else zijn optioneel. Elke sectie GPD-bestand kan GPD-bestandsvermeldingen bevatten en, optioneel, een geneste reeks voorwaardelijke preprocessor-instructies.
Alle symbolen die zijn gedefinieerd met behulp van *Define , blijven gedefinieerd totdat ze expliciet niet zijn gedefinieerd met behulp van *Undefine.
Met de *Include-instructie kunt u de naam van een extra GPD-bestand opgeven. Zie Meerdere GPD-bestanden gebruiken in een Minidriver-voor meer informatie.
Houd er rekening mee dat de vermelding *IgnoreBlock GPD geen invloed heeft op preprocessor-instructies, omdat de preprocessor wordt uitgevoerd vóór de GPD-parser.
Het voorvoegsel voor de preprocessorrichtlijn wijzigen
Met de instructie *SetPPPrefix kunt u het voorvoegsel wijzigen dat wordt gebruikt met preprocessorrichtlijnen. Dat wil gezegd, u kunt deze instructie gebruiken om het sterretje (*) te vervangen dat de preprocessor-instructies prependeert met een ander teken of een andere tekenreeks.
Als uw GPD-bestand bijvoorbeeld de volgende instructie bevat:
*SetPPPrefix: #SpecialPrefix#
dan stopt de preprocessor met het zoeken naar preprocessor-instructies die beginnen met * en zoekt in plaats daarvan naar instructies die beginnen met #SpecialPrefix#. Met de volgende volgorde wordt het voorvoegsel van de voorverwerker tijdelijk gewijzigd in #SpecialPrefix# en vervolgens hersteld naar *.
*SetPPPrefix: #SpecialPrefix#
#SpecialPrefix#Ifdef: WINNT_50
#SpecialPrefix#Include: "ExtraGPD.gpd"
#SpecialPrefix#Endif:
#SpecialPrefix#SetPPPrefix: *
Het primaire doel van deze functie is om GPD-bestanden die zijn geschreven voor toekomstige besturingssysteemversies compatibel te maken met Windows 2000. Stel dat GPD-bestanden voor een toekomstige versie van het besturingssysteem GPD-bestandsvermeldingen kunnen bevatten die conflicteren met de sterretjesvoorvoegsel preprocessorrichtlijnen die worden ondersteund door Windows 2000. Door het voorvoegsel te wijzigen, kan een GPD-bestand dat is geschreven voor de toekomstige versie van het besturingssysteem ook worden gebruikt met Windows 2000. Een voorbeeld kan als volgt worden samengesteld:
*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:
Houd er rekening mee dat deze techniek alleen het voorvoegsel wijzigt waarnaar de preprocessor zoekt. Trefwoorden die door de parser worden herkend, moeten altijd worden voorafgegaan door een sterretje.
Vooraf gedefinieerde preprocessorsymbolen
Microsoft definieert de volgende preprocessorsymbolen.
| Symbol | Waar gedefinieerd | Definitie |
|---|---|---|
| WINNT_51 | GPD-preprocessor voor Windows XP | Omgeving is Windows XP. |
| WINNT_50 | GPD-preprocessor voor Windows XP en Windows 2000 | Omgeving is Windows 2000. |
| WINNT_40 | GPD-preprocessors voor Windows XP, Windows 2000 en Windows NT 4.0 | De omgeving is het besturingssysteem Windows NT 4.0. |
| PARSER_VER_1.0 | GPD-preprocessors voor Windows NT 4.0, Windows 2000 en Windows XP | GPD-parser versie 1.0 |
De symbolen WINNT_40, WINNT_50 en WINNT_51 zijn handig voor het maken van GPD-bestanden die compatibel zijn met Windows NT 4.0, Windows 2000 en Windows XP. Als Windows XP bijvoorbeeld een printermogelijkheid ondersteunt die niet wordt ondersteund door Windows 2000, kan die mogelijkheid worden opgegeven in een gpd-bestandsectie die is gebonden door *Ifdef: WINNT_51 en *Endif-instructies .