Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Moderní tisková platforma je upřednostňovaná pro komunikaci s tiskárnami ve Windows. Doporučujeme použít ovladač třídy doručené pošty IPP od Microsoftu spolu s tiskovými podpůrnými aplikacemi (PSA) k přizpůsobení prostředí tisku ve Windows 10 a 11 pro vývoj zařízení tiskárny.
Další informace najdete v průvodci návrhem aplikace podpory tisku v1 a v2.
Soubory GPD mohou obsahovat direktivy preprocesoru, které lze použít k řízení podmíněného parsování oddílů v souboru GPD. Následující tabulka popisuje direktivy preprocesoru, které lze použít v souborech GPD.
| Předzpracovávací direktiva | Definice |
|---|---|
| * Definujte: SymbolName | Definuje symbol. |
| * Odstranit definici: SymbolName | Odebere dříve definovaný symbol. |
| * Ifdef: SymbolName | Označuje začátek bloku položek souboru GPD. Je-li definován zadaný symbol, položky souboru GPD mezi touto direktivou a další *Ifdef**, *Elseifdef, *Else nebo *Endif direktivy jsou zpracovány analyzátorem GPD. |
| * Elseifdef : SymbolName | Je-li zadaný symbol definován a symbol specifikovaný předchozí direktivou *Ifdef nebo *Elseifdef není definován, položky souboru GPD mezi touto direktivou a následující direktivou *Ifdef, *Elseifdef, *Else nebo *Endif jsou zpracovány analyzátorem GPD. |
| * Else: | Pokud symbol určený předchozí direktivou *Ifdef nebo *Elseifdef není definován, záznamy souboru GPD mezi touto direktivou a další direktivou *Ifdef nebo *Endif jsou zpracovány parserem GPD. |
| * Endif: | Označuje konec bloku položek souboru GPD. |
| * Zahrnout: "FileName" | Určuje název dalšího souboru GPD. Další informace najdete v tématu Použití více souborů GPD v minidriveru. |
| * SetPPPrefix : PrefixString | Změní prefixový řetězec připojený k direktivám preprocesoru. Další informace naleznete v části Změna předpony direktivy preprocesoru . |
Direktivy podmínkového preprocesoru mohou být vnořovány. Na každé úrovni vnoření je sekvence pro použití podmíněných preprocesorových direktiv následující:
* Ifdef: Oddíl souboru GPD symbol1
* Elseifdef: Symbol2 oddíl souboru GPD
* Elseifdef: Oddíl souboru GPD symbol3
* Elseifdef: Sekce souboru GPD symbol4
...
* Else: Oddíl souboru GPD
* Endif:
Pro každou použitou direktivu *Ifdef je vyžadována funkce *Endif . Direktivy *Elseifdef a *Else jsou volitelné. Každý oddíl souboru GPD může obsahovat položky souboru GPD a volitelně vnořenou sadu podmíněných direktiv preprocesoru.
Všechny symboly definované pomocí *Define zůstanou definovány, dokud není explicitně nedefinováno pomocí *Undefine.
Direktiva *Include umožňuje zadat název dalšího souboru GPD. Další informace najdete v tématu Použití více souborů GPD v minidriveru.
Všimněte si, že položka *IgnoreBlock GPD nemá vliv na direktivy preprocesoru, protože preprocesor se spustí před analyzátorem GPD.
Změna předpony direktivy preprocesoru
Tato direktiva *SetPPPrefix umožňuje změnit předponu použitou s direktivami preprocesoru. To znamená, že tuto direktivu můžete použít k nahrazení znaku hvězdičky (*), který předzálohuje direktivy preprocesoru jiným znakem nebo řetězcem.
Pokud například váš soubor GPD obsahuje následující direktivu:
*SetPPPrefix: #SpecialPrefix#
preprocesor přestane hledat direktivy preprocesoru, které začínají * a místo toho hledá direktivy začínající #SpecialPrefix#. Následující sekvence dočasně změní předponu preprocesoru na #SpecialPrefix# a pak ji obnoví do *.
*SetPPPrefix: #SpecialPrefix#
#SpecialPrefix#Ifdef: WINNT_50
#SpecialPrefix#Include: "ExtraGPD.gpd"
#SpecialPrefix#Endif:
#SpecialPrefix#SetPPPrefix: *
Primárním účelem této funkce je umožnit, aby soubory GPD zapsané pro budoucí verze operačního systému byly kompatibilní se systémem Windows 2000. Předpokládejme například, že soubory GPD pro budoucí verzi operačního systému mohou obsahovat položky souboru GPD, které jsou v konfliktu s direktivami preprocesoru s předponou hvězdičky podporované systémem Windows 2000. Změnou předpony lze také použít soubor GPD napsaný pro budoucí verzi operačního systému se systémem Windows 2000. Příklad může být vytvořen takto:
*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:
Všimněte si, že tato technika změní pouze předponu, kterou preprocesor hledá. Klíčová slova rozpoznaná analyzátorem musí vždy předcházet hvězdičkou.
Předdefinované symboly preprocesoru
Microsoft definuje následující symboly preprocesoru.
| Symbol | Kde je definováno | Definice |
|---|---|---|
| WINNT_51 | Preprocesor GPD pro Systém Windows XP | Prostředí je Windows XP. |
| WINNT_50 | Preprocesor GPD pro systém Windows XP a Windows 2000 | Prostředí je Windows 2000. |
| WINNT_40 | Preprocesory GPD pro systém Windows XP, Windows 2000 a Windows NT 4.0 | Prostředí je Windows NT 4.0. |
| PARSER_VER_1.0 | Preprocesory GPD pro systém Windows NT 4.0, Windows 2000 a Windows XP | Analyzátor GPD verze 1.0 |
Symboly WINNT_40, WINNT_50 a WINNT_51 jsou užitečné pro vytváření souborů GPD kompatibilních se systémem Windows NT 4.0, Windows 2000 a Windows XP. Pokud například systém Windows XP podporuje funkci tiskárny, která není podporována systémem Windows 2000, lze tuto schopnost zadat v oddílu souboru GPD, který je vázán *Ifdef: WINNT_51 a *Endif direktivy.