Bagikan melalui


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.

CatatanPTMergeAndValidatePrintTicket akan memvalidasi tiket dasar terhadap Kerangka Kerja Skema Cetak sebelum menggabungkan.
 

[in] pDeltaTicket

Penunjuk ke tiket cetak. Posisi pencarian aliran harus berada di awal konten tiket cetak. NULL dapat diteruskan ke parameter ini. Lihat Keterangan.

CatatanPTMergeAndValidatePrintTicket akan memvalidasi tiket delta terhadap Kerangka Kerja Skema Cetak sebelum menggabungkan.
 

[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

Catatan Ini adalah fungsi pemblokiran atau sinkron dan mungkin tidak segera kembali. Seberapa cepat fungsi ini kembali tergantung pada faktor run-time seperti status jaringan, konfigurasi server cetak, dan implementasi driver printer—faktor-faktor yang sulit diprediksi saat menulis aplikasi. Memanggil fungsi ini dari utas yang mengelola interaksi dengan antarmuka pengguna dapat membuat aplikasi tampak tidak responsif.
 
hProvider harus berupa handel yang dibuka di utas yang sama dengan utas tempat digunakan untuk fungsi ini.

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

Lihat juga

Cetak Skema

Cetak Fungsi API Spooler

Pencetakan