Bagikan melalui


Arahan pra-prosesor

Penting

Kami menyarankan agar Anda menggunakan driver kelas kotak masuk IPP Microsoft, bersama dengan Print Support Apps (PSA), untuk menyesuaikan pengalaman cetak di Windows 10 dan 11 untuk pengembangan perangkat printer.

Untuk informasi selengkapnya, lihat Panduan desain aplikasi dukungan cetak.

File GPD dapat berisi arahan pra-prosesor, yang dapat digunakan untuk mengontrol penguraian bagian bersyarat dalam file GPD. Tabel berikut menjelaskan arahan praprosesor yang dapat digunakan dalam file GPD.

PreprocessorDirective Definisi
*Tentukan: SymbolName Mendefinisikan simbol.
*Tidak didefinisikan: SymbolName Menghapus simbol yang ditentukan sebelumnya.
*Ifdef: SymbolName Menunjukkan awal blok entri file GPD.

Jika simbol yang ditentukan ditentukan, entri file GPD antara direktif ini dan *Ifdef**, *Elseifdef, *Else, atau *Direktif Endif diproses oleh pengurai GPD.
*Elseifdef : SymbolName Jika simbol yang ditentukan ditentukan, dan simbol yang ditentukan oleh direktif *Ifdef atau *Elseifdef sebelumnya tidak ditentukan, entri file GPD antara direktif ini dan direktif berikutnya *Ifdef, *Elseifdef, *Else, atau *Endif diproses oleh pengurai GPD.
*Lainnya: Jika simbol yang ditentukan oleh direktif *Ifdef atau *Elseifdef sebelumnya tidak ditentukan, entri file GPD antara direktif ini dan direktif *Ifdef atau *Endif berikutnya diproses oleh pengurai GPD.
*Endif: Menunjukkan akhir blok entri file GPD.
*Sertakan: "FileName" Menentukan nama file GPD tambahan. Untuk informasi selengkapnya, lihat Menggunakan Beberapa File GPD di Minidriver.
*SetPPPrefix : PrefixString Mengubah string awalan yang telah ditambahkan ke arahan praprosesor. Untuk informasi selengkapnya, lihat bagian Mengubah Prefiks Direktif Praprosesor .

Arahan pra-prosesor kondisional dapat ditumpuk. Pada setiap tingkat bersarang, urutan untuk menggunakan arahan praproscesor kondisional adalah sebagai berikut:

*Ifdef: Bagian file GPD Symbol1

*Elseifdef: Bagian file GPD Symbol2

*Elseifdef: Bagian file GPD Symbol3

*Elseifdef: Bagian file GPD Symbol4

...

*Lainnya: bagian file GPD

*Endif:

Untuk setiap direktif *Ifdef yang digunakan, *Endif diperlukan. Direktif *Elseifdef dan *Else bersifat opsional. Setiap bagian file GPD dapat berisi entri file GPD dan, secara opsional, urutan berlapis dari arahan prapemrosesan kondisional.

Semua simbol yang didefinisikan menggunakan *Tetapkan tetap ditentukan sampai secara eksplisit tidak terdefinisi menggunakan *Undefine.

Direktif *Sertakan memungkinkan Anda menentukan nama file GPD tambahan. Untuk informasi selengkapnya, lihat Menggunakan Beberapa File GPD di Minidriver.

Perhatikan bahwa entri *IgnoreBlock GPD tidak memengaruhi direktif pra-prosesor, karena pra-prosesor dijalankan sebelum pengurai GPD.

Mengubah Prefiks Direktif Praprosesor

Direktif *SetPPPrefix memungkinkan Anda mengubah awalan yang digunakan dengan arahan praprosesor. Artinya, Anda dapat menggunakan direktif ini untuk mengganti karakter tanda bintang (*) yang memberi prepend pada arahan pra-prosesor dengan karakter atau string lain.

Misalnya, jika file GPD Anda berisi direktif berikut:

*SetPPPrefix: #SpecialPrefix#

kemudian prapemroses berhenti mencari arahan praprosesor yang dimulai dengan * dan sebagai gantinya mencari arahan yang dimulai dengan #SpecialPrefix#. Urutan berikut untuk sementara mengubah awalan preprosesor menjadi #SpecialPrefix#, lalu memulihkannya ke *.

*SetPPPrefix: #SpecialPrefix#
#SpecialPrefix#Ifdef: WINNT_50
#SpecialPrefix#Include: "ExtraGPD.gpd"
#SpecialPrefix#Endif:
#SpecialPrefix#SetPPPrefix: *

Tujuan utama fitur ini adalah untuk memungkinkan file GPD yang ditulis untuk versi sistem operasi di masa mendatang kompatibel dengan Windows 2000. Misalnya, misalkan file GPD untuk versi sistem operasi yang akan datang dapat menyertakan entri file GPD yang bertentangan dengan arahan preprosesor awalan tanda bintang yang didukung oleh Windows 2000. Dengan mengubah awalan, file GPD yang ditulis untuk versi sistem operasi di masa mendatang juga dapat digunakan dengan Windows 2000. Contoh dapat dibangun sebagai berikut:

*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:

Perhatikan bahwa teknik ini hanya mengubah awalan yang dicari preprosesor. Kata kunci yang dikenali oleh pengurai harus selalu didahului oleh tanda bintang.

Simbol Pra-prosesor yang telah ditentukan sebelumnya

Microsoft mendefinisikan simbol praprosesor berikut.

Simbol Di mana Didefinisikan Definisi
WINNT_51 Pra-prosesor GPD untuk Windows XP Lingkungan adalah Windows XP.
WINNT_50 Pra-prosesor GPD untuk Windows XP dan Windows 2000 Lingkungan adalah Windows 2000.
WINNT_40 Pra-prosesor GPD untuk Windows XP, Windows 2000, dan Windows NT 4.0 Lingkungan adalah Windows NT 4.0.
PARSER_VER_1.0 Pra-prosesor GPD untuk Windows NT 4.0, Windows 2000, dan Windows XP Pengurai GPD versi 1.0

Simbol WINNT_40, WINNT_50, dan WINNT_51 berguna untuk membuat file GPD yang kompatibel dengan Windows NT 4.0, Windows 2000, dan Windows XP. Jika, misalnya, Windows XP mendukung kemampuan printer yang tidak didukung oleh Windows 2000, maka kemampuan tersebut dapat ditentukan dalam bagian file GPD yang dibatasi oleh *Ifdef: WINNT_51 dan *Arahan Endif .