Metode IPrintCoreHelperPS::SetOptions (prcomoem.h)
Metode IPrintCoreHelperPS::SetOptions mengatur beberapa pasangan opsi fitur secara bersamaan.
Sintaks
HRESULT SetOptions(
[in, optional] IN PDEVMODE pDevmode,
[in] IN DWORD cbSize,
[in] IN BOOL bResolveConflicts,
[in] IN const PRINT_FEATURE_OPTION [] pFOPairs,
[in] IN DWORD cPairs,
[out] OUT PDWORD pcPairsWritten,
[out] OUT PDWORD pdwResult
);
Parameter
[in, optional] pDevmode
Penunjuk ke struktur DEVMODEW . Jika pointer ini disediakan, IPrintCoreHelperPS::SetOptions harus menggunakan struktur DEVMODEW yang diarahkan oleh pDevmode daripada struktur DEVMODEW default atau saat ini. Jika metode ini dipanggil dari penyedia plug-in atau dari IPrintOemPS::D evMode, parameter ini diperlukan. Dalam sebagian besar situasi lain, parameter harus NULL. Ketika driver inti mengatur pDevmode ke NULL, driver ini memodifikasi status internalnya daripada struktur DEVMODEW yang diteruskan. Ini diperlukan selama operasi seperti penggantian UI penuh, di mana struktur DEVMODEW yang dikembalikan oleh DDI, seperti DrvDocumentPropertySheets, sedang dilayanakan oleh modul UI driver inti.
[in] cbSize
Ukuran, dalam byte, dari struktur DEVMODEW yang diarahkan oleh parameter pDevmode .
[in] bResolveConflicts
Nilai Boolean yang menunjukkan apakah IPrintCoreHelperPS::SetOptions harus menyelesaikan konflik yang muncul dari satu atau beberapa batasan dalam tampilan PPD file konfigurasi, serta batasan untuk fungsionalitas yang diterapkan oleh Pscript atau prosesor cetak. Jika TRUE, metode ini harus mencoba menyelesaikan konflik. Jika FALSE, metode ini tidak boleh mencoba menyelesaikan konflik.
[in] pFOPairs
Array elemen PRINT_FEATURE_OPTION , di mana setiap elemen berisi pasangan opsi fitur. Setiap pasangan opsi fitur mencantumkan fitur dan opsi untuk dipilih untuk fitur tersebut. Semua pengaturan diterapkan secara berurutan. Duplikat tidak diizinkan, tetapi pengaturan yang muncul nanti dalam array (yaitu, pada indeks yang lebih tinggi) mengambil alih yang muncul sebelumnya dalam array.
[in] cPairs
Jumlah pasangan opsi fitur yang ditujukkan oleh parameter pFOPairs .
[out] pcPairsWritten
Penunjuk ke variabel yang menerima jumlah pasangan opsi fitur yang berhasil disimpan sebelum IPrintCoreHelperPS::SetOptions dikembalikan atau gagal. Jika metode ini berhasil dikembalikan, pcPairsWritten akan memiliki nilai yang sama dengan cPairs. Jika metode gagal, pcPairsWritten dapat memiliki nilai apa pun dari nol melalui nilai cPairs. Parameter ini bersifat opsional dan dapat berupa NULL.
[out] pdwResult
Penunjuk ke variabel yang menerima status resolusi konflik. Statusnya bisa menjadi salah satu nilai berikut.
Nilai | Deskripsi |
---|---|
SETOPTIONS_RESULT_NO_CONFLICT | Tidak ada batasan yang ditentukan dalam tampilan PPD file konfigurasi yang dilanggar, relatif terhadap pengaturan baru. |
SETOPTIONS_RESULT_CONFLICT_RESOLVED | Setidaknya satu batasan yang ditentukan dalam tampilan PPD file konfigurasi dilanggar, dan pemanggil meminta agar metode harus menyelesaikan konflik. Nilai ini menghasilkan pengaturan yang diubah dengan konflik yang diselesaikan. |
SETOPTIONS_RESULT_CONFLICT_NOT_RESOLVED | Setidaknya satu batasan yang ditentukan dalam tampilan PPD file konfigurasi dilanggar, dan pemanggil meminta agar metode tidak menyelesaikan konflik. Pengaturan tidak berubah, dan konflik tetap ada. |
Nilai kembali
IPrintCoreHelperPS::SetOptions harus mengembalikan salah satu nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
S_OK | Operasi berhasil. |
E_INVALIDARG | Satu atau beberapa argumen tidak valid, atau fitur ini tidak didukung. |
E_OUTOFMEMORY | Memori untuk array hasil tidak dapat dialokasikan. |
Untuk kegagalan lain, metode harus mengembalikan kode kesalahan COM standar.
Keterangan
IPrintCoreHelperPS::SetOptions dapat digunakan untuk membuat beberapa perubahan pengaturan secara bersamaan dan untuk mengatasi batasan setelah semua opsi yang dipilih telah diatur. Perubahan pada opsi diterapkan secara berurutan, mulai dari awal array pFOPairs , jadi jika fitur yang sama muncul dua kali dalam array ini, hanya opsi terakhir untuk fitur yang akan dipilih. Perubahan pada opsi tidak diterapkan kecuali parameter bResolveConflictsTRUE.
Untuk sebagian besar skenario, parameter bResolveConflicts harus diatur ke TRUE. Atur parameter ini ke FALSE jika Anda ingin meminta pengguna untuk mengatasi konflik.
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | prcomoem.h (termasuk Prcomoem.h) |