Fungsi PTMergeAndValidatePrintTicket (prntvpt.h)
Menggabungkan dua tiket cetak dan mengembalikan tiket cetak yang valid dan layak.
Sintaks
HRESULT PTMergeAndValidatePrintTicket(
[in] HPTPROVIDER hProvider,
[in] IStream *pBaseTicket,
[in] IStream *pDeltaTicket,
[in] EPrintTicketScope scope,
IStream *pResultTicket,
[out] BSTR *pbstrErrorMessage
);
Parameter
[in] hProvider
Handel ke penyedia tiket cetak terbuka. Handel ini dikembalikan oleh PTOpenProvider atau fungsi PTOpenProviderEx .
[in] pBaseTicket
Penunjuk ke tiket cetak. Posisi pencarian aliran harus berada di awal konten tiket cetak.
[in] pDeltaTicket
Penunjuk ke tiket cetak. Posisi pencarian aliran harus berada di awal konten tiket cetak. NULL dapat diteruskan ke parameter ini. Lihat Keterangan.
[in] scope
Nilai yang menentukan apakah cakupan pDeltaTicket dan pResultTicket adalah satu halaman, seluruh dokumen, atau semua dokumen dalam pekerjaan cetak. Lihat Keterangan.
pResultTicket
Penunjuk ke aliran tempat tiket gabungan yang layak akan ditulis. Posisi pencarian akan berada di akhir tiket cetak. Lihat Keterangan.
[out] pbstrErrorMessage
Penunjuk ke string yang menentukan apa, jika ada, tidak valid tentang pBaseTicket atau pDeltaTicket. Jika keduanya valid, ini ADALAH NULL. Masalah kelayakan tidak dilaporkan dalam pbstrErrorMessage.
Mengembalikan nilai
Jika operasi berhasil tanpa konflik antara pengaturan tiket gabungan dan kemampuan printer, HRESULT S_PT_NO_CONFLICT.
Jika operasi berhasil tetapi tiket gabungan harus diubah dalam satu atau beberapa pengaturan karena meminta fungsionalitas yang tidak didukung printer, HRESULT S_PT_CONFLICT_RESOLVED. Lihat Keterangan.
Jika hProvider dibuka di utas yang berbeda, HRESULT akan E_INVALIDARG.
Jika pBaseTicket tidak valid, HRESULT E_PRINTTICKET_FORMAT.
Jika pDeltaTicket tidak valid, HRESULT E_DELTA_PRINTTICKET_FORMAT.
Jika tidak, beberapa kode kesalahan lainnya dikembalikan di HRESULT. Untuk informasi selengkapnya tentang kode kesalahan COM, lihat Penanganan Kesalahan.
Keterangan
Fungsi ini memvalidasi dengan dua cara: Pertama-tama memvalidasi kedua tiket input terhadap Print Schema Framework, melaporkan kesalahan di pbstrErrorMessage. Kemudian memeriksa kelayakan tiket cetak gabungan dengan driver printer. Jika tiket gabungan meminta fungsionalitas yang tidak didukung printer, maka setelan tak bisa diundang diganti dan pengandar pencetak menentukan pengaturan pengganti apa yang akan digunakan. Biasanya, pengandar pencetak menggunakan pengaturan tiket cetak default pengguna. Jika driver printer tidak menggunakan tiket cetak yang sama dengan yang dituju pBaseTicket sebagai sumber untuk nilai pengganti, ada kemungkinan bahwa pResultTicket akan berbeda dalam beberapa pengaturan dari kedua tiket cetak input.
Biasanya, pBaseTicket berisi berbagai pengaturan pekerjaan, dokumen, dan halaman. Biasanya default pengguna atau tiket cetak default perangkat digunakan untuk pBaseTicket.
Jika pDeltaTicket adalah NULL, metode memvalidasi pBaseTicket, memeriksa kelayakannya, dan mengembalikannya, mungkin dimodifikasi, dalam aliran yang diarahkan oleh pResultTicket.
Nilai pDeltaTicket yang berada di luar cakupan diabaikan. Misalnya, jika cakupan hanya satu halaman, maka pengaturan di seluruh pekerjaan dan pengaturan di seluruh dokumen diabaikan. Cakupan pekerjaan mencakup cakupan dokumen dan cakupan halaman. Cakupan dokumen menyertakan cakupan halaman.
Pengaturan yang berada di luar cakupan tidak disertakan dalam pResultTicket.
Saat fungsi mengembalikan nilai, posisi pencarian pResultTicket berada di akhir konten tiket cetak. Pemanggil bertanggung jawab untuk mengatur ulang posisi pencarian sebelum membaca data.
Jika pbstrErrorMessage bukan NULL saat fungsi kembali, pemanggil harus membebaskan string dengan SysFreeString.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | prntvpt.h |
Pustaka | Prntvpt.lib |
DLL | Prntvpt.dll |