Bagikan melalui


Fungsi PTConvertPrintTicketToDevMode (prntvpt.h)

Mengonversi tiket cetak menjadi struktur DEVMODE .

Sintaks

HRESULT PTConvertPrintTicketToDevMode(
  [in]  HPTPROVIDER         hProvider,
  [in]  IStream             *pPrintTicket,
        EDefaultDevmodeType baseDevmodeType,
  [in]  EPrintTicketScope   scope,
  [out] ULONG               *pcbDevmode,
  [out] PDEVMODE            *ppDevmode,
  [out] BSTR                *pbstrErrorMessage
);

Parameter

[in] hProvider

Handel ke penyedia tiket cetak yang dibuka. Handel ini dikembalikan oleh PTOpenProvider atau fungsi PTOpenProviderEx .

[in] pPrintTicket

Penunjuk ke IStream dengan posisi pencariannya di awal tiket cetak.

baseDevmodeType

Nilai yang menunjukkan apakah DEVMODE default pengguna atau DEVMODE default antrean cetak digunakan untuk memberikan nilai ke DEVMODE output ketika pPrintTicket tidak menentukan setiap pengaturan yang mungkin untuk DEVMODE.

[in] scope

Nilai yang menentukan cakupan pPrintTicket. Nilai ini dapat menentukan satu halaman, seluruh dokumen, atau semua dokumen dalam pekerjaan cetak. Pengaturan dalam pPrintTicket yang berada di luar lingkup yang ditentukan diabaikan. Lihat Keterangan.

[out] pcbDevmode

Penunjuk ke ukuran DEVMODE dalam byte.

[out] ppDevmode

Penunjuk ke DEVMODE yang baru dibuat.

[out] pbstrErrorMessage

Penunjuk ke string yang menentukan apa, jika ada, tidak valid tentang pPrintTicket. Jika valid, ini ADALAH NULL.

Mengembalikan nilai

Jika operasi berhasil, nilai yang dikembalikan S_OK.

Jika hProvider dibuka di utas yang berbeda, HRESULT akan E_INVALIDARG.

Jika pPrintTicket tidak valid, HRESULT E_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.
 
Parameter hProvider harus berupa handel yang dibuka di utas yang sama dengan utas tempat parameter digunakan untuk fungsi ini.

Jika baseDevmodeType adalah kUserDefaultDevmode, tetapi default pengguna tidak tersedia, default perangkat akan digunakan.

DEVMODE yang dikembalikan mungkin secara internal tidak konsisten atau bertentangan dengan pengaturan hard printer meskipun setiap pengaturan di dalamnya layak satu per satu. Misalnya, jika printer mendukung duplexer opsional tetapi pPrintTicket memanggil duplexing, maka DEVMODE yang dikembalikan juga akan memanggil dupleks, bahkan jika duplekser tidak diinstal. Gunakan DocumentProperties untuk memperbaiki DEVMODE yang dikembalikan.

Buffer dalam ppDevmode yang dikembalikan harus dirilis dengan PTReleaseMemory.

Nilai pPrintTicket 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.

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