Mengubah Halaman Lembar Properti Driver-Supplied

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.

Plug-in UI dapat memodifikasi halaman lembar properti yang disediakan Unidrv atau yang disediakan Pscript5 dengan menerapkan metode IPrintOemUI::CommonUIProp dan fungsi panggilan balik.

Plug-in UI menggunakan metode IPrintOemUI::CommonUIProp untuk menentukan sekumpulan item opsi yang dapat ditambahkan, dihapus, atau diganti CPSUI dalam halaman Pengaturan Perangkat lembar properti printer atau Tata Letak, Kertas/Kualitas lembar properti dokumen, dan halaman Tingkat Lanjut .

Fungsi panggilan balik, dari jenis OEMCUIPCALLBACK, digunakan untuk memproses modifikasi pengguna ke item opsi yang disesuaikan.

Menambahkan Item Opsi

Plug-in UI Anda harus menjelaskan item opsi baru dengan menempatkannya dalam array struktur OPTITEM yang disediakan oleh driver. DLL antarmuka printer driver memanggil metode IPrintOemUI::CommonUIProp plug-in UI dua kali. Pertama kali metode dipanggil, metode harus mengembalikan jumlah struktur OPTITEM yang diperlukan. Driver mengalokasikan ruang untuk array OPTITEM dan menjelaskan array dalam struktur OEMCUIPPARAM . Driver memanggil IPrintOemUI::CommonUIProp lagi, menyediakan alamat struktur OEMCUIPPARAM, sehingga metode dapat memuat struktur OPTITEM dengan deskripsi opsi.

Menghapus Item Opsi

Untuk menghapus opsi dari halaman lembar properti yang disediakan oleh Unidrv atau Pscript5, metode IPrintOemUI::CommonUIProp plug-in UI Anda dapat melintasi array struktur OPTITEM yang ditunjukkan oleh struktur OEMCUIPPARAM . Untuk setiap opsi yang ingin Anda hapus dari lembar properti, Anda dapat mengatur bendera OPTIF_HIDE struktur OPTITEM. (Perhatikan bahwa ini tidak benar-benar menghapus opsi; ini menyembunyikan opsi dari pengguna sehingga pengguna tidak dapat mengubah nilai defaultnya.)

Mengganti Item Opsi

Untuk mengganti opsi di halaman lembar properti yang disediakan oleh Unidrv atau Pscript, Anda harus mengikuti instruksi yang diperlihatkan di bawah bagian Menghapus Item Opsi sebelumnya untuk menghapus item opsi yang sudah ada, lalu ikuti instruksi di bawah bagian Menambahkan Item Opsi sebelumnya untuk membuat item opsi baru untuk mengganti item lama.

Menangani Modifikasi pada Nilai Opsi yang Disesuaikan

Untuk memproses modifikasi pengguna ke item opsi yang disesuaikan, Anda harus menyediakan setidaknya satu fungsi panggilan balik. Anda dapat menentukan fungsi panggilan balik tunggal yang menangani opsi untuk lembar properti dokumen dan lembar properti printer, atau Anda dapat menentukan fungsi terpisah untuk masing-masing. Panggilan balik ini berjenis OEMCUIPCALLBACK.

Fungsi panggilan balik ditentukan dengan menempatkan alamatnya dalam struktur OEMCUIPPARAM . Plug-in UI menerima alamat struktur ini sebagai input ke metode IPrintOemUI::CommonUIProp-nya .

Ketika pengguna membuka lembar properti printer atau lembar properti dokumen dan memodifikasi opsi, CPSUI memanggil DLL antarmuka pencetak driver printer. DLL ini memproses nilai opsi yang terkandung dalam struktur OPTITEM-nya sendiri. Kemudian untuk setiap plug-in UI, DLL antarmuka printer memanggil fungsi panggilan balik berjenis OEMCUIPCALLBACK yang sebelumnya ditentukan oleh IPrintOemUI::CommonUIProp.