Menggunakan EnumOptions

Penting

Platform cetak modern adalah sarana komunikasi pilihan Windows dengan printer. 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 v1 dan v2.

Pemanggil dapat menggunakan EnumOptions untuk mengambil daftar kata kunci opsi untuk fitur driver yang didukung dan fitur PPD apa pun. Untuk fitur PPD, EnumOptions selalu didukung dan mengembalikan opsi yang ditentukan oleh PPD.

Untuk fitur driver, EnumOptions hanya didukung untuk fitur yang saat ini didukung dan memiliki serangkaian opsi tetap. Misalnya: %AddEuro memiliki dua opsi: "True" dan "False", dan %PageOrder memiliki dua opsi "FrontToBack" dan "BackToFront". EnumOptions didukung untuk %AddEuro (jika tingkat Bahasa adalah 2 dan lebih tinggi), seperti halnya %PageOrder (jika spooler EMF spooling diaktifkan). Tetapi fitur seperti %CustomPageSize, %PSMemory, dan lainnya memiliki jumlah opsi yang mungkin tidak terbatas, yang berarti bahwa EnumOptions tidak didukung untuk mereka.

Untuk fitur driver yang saat ini tidak didukung, atau untuk fitur driver yang didukung yang tidak dapat dijumlahkan melalui EnumOptions, EnumOptions mengembalikan E_NOTIMPL.

Selain itu, beberapa opsi fitur driver mungkin tidak didukung dalam kondisi tertentu. Misalnya, jika penampung tampungan EMF dinonaktifkan pada Windows 2000 dan rilis sistem operasi yang lebih baru, maka opsi "Booklet" tidak didukung untuk fitur %PagePerSheet. Misalnya, jika printer tidak memiliki rasterizer Type42, maka opsi "NativeTrueType" tidak didukung untuk %TTDownloadFormat. Opsi yang tidak didukung ini tidak akan muncul dalam daftar kata kunci output EnumOptions.

Pscript menangani kata kunci fitur berikut dengan cara khusus:

  • Kata kunci fitur *CustomPageSize dikonversi menjadi opsi kata kunci fitur *PageSize, dengan "CustomPageSize" menjadi kata kunci opsi. Panggil GetOptionAttribute untuk mendapatkan parameter PPD-nya.

  • Entri *ManualFeed True dikonversi menjadi opsi kata kunci fitur *InputSlot, dengan "ManualFeed" menjadi nama kata kunci opsi.

  • Untuk kata kunci fitur *InputSlot, Pscript selalu menambahkan opsi yang dihasilkan driver dengan nama kata kunci opsi "*UseFormTrayTable" sebagai opsi pertama (awalan "*" digunakan dalam nama kata kunci opsi untuk menghindari kemungkinan konflik nama dengan opsi yang ditentukan PPD), yang diikuti oleh opsi yang ditentukan dalam PPD. Jika opsi "*UseFormTrayTable" dipilih, Pscript akan menggunakan tabel penetapan formulir ke baki untuk secara otomatis memilih baki kertas yang mendukung ukuran kertas yang dipilih.