Plug-Ins Penyajian COM-Based

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.

Untuk menyediakan fungsi pengait yang disesuaikan, plug-in penyajian berbasis COM Anda harus mengimplementasikan metode IPrintOemUni::EnableDriver atau IPrintOemPS::EnableDriver , yang mengisi struktur DRVENABLEDATA dengan alamat setiap fungsi pengait.

Plug-in penyajian berbasis COM dapat menghubungkan fungsi DDI grafis hanya jika driver Unidrv atau Pscript5 menentukan fungsi . Untuk daftar fungsi tersebut, lihat IPrintOemUni::EnableDriver atau IPrintOemPS::EnableDriver.

Jika Anda menyediakan fungsi pengait khusus, fungsi tersebut akan mendahului fungsi DDI grafis driver yang setara. Saat Anda mendesain fungsi pengait yang disesuaikan, Anda memiliki opsi berikut:

  • Fungsi pengait dapat sepenuhnya menangani operasi DDI grafis secara internal.

  • Fungsi pengait dapat memanggil kembali ke fungsi DDI grafis yang setara pada driver printer.

Dengan memanggil kembali ke fungsi DDI grafis driver, fungsi pengait dapat melakukan praproscesing atau pascaproscesing argumen fungsi, tetapi masih memungkinkan driver untuk benar-benar melakukan operasi DDI grafis. Salah satu argumen input ke metode IPrintOemUni::EnablePDEV atau IPrintOemPS::EnablePDEV adalah struktur DRVENABLEDATA yang berisi pointer ke fungsi DDI grafis driver. Jika Anda ingin memanggil kembali ke fungsi-fungsi ini, Anda harus menyimpan konten struktur ini.

Anda mungkin perlu menyediakan struktur PDEV yang disesuaikan. Anda dapat mereferensikan struktur ini dari dalam fungsi kait DDI grafis, melalui penunjuk struktur SURFOBJ yang diterima setiap fungsi pengait sebagai input. Secara khusus, anggota dhpdev struktur SURFOBJ menunjuk ke struktur DEVOBJ , dan anggota pdevOEM struktur DEVOBJ menunjuk ke struktur PDEV yang disesuaikan.