Metode IPrintCoreHelper::SetOptions (prcomoem.h)
Metode IPrintCoreHelper::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, IPrintCoreHelper::SetOptions harus menggunakan struktur DEVMODEW yang diarahkan oleh pDevmode alih-alih struktur DEVMODEW default atau saat ini. Jika metode ini dipanggil dari penyedia plug-in atau dari IPrintOemPS::D evMode atau IPrintOemUni::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 IPrintCoreHelper::SetOptions harus menyelesaikan konflik yang muncul dari satu atau beberapa batasan yang ditentukan dalam tampilan GPD atau PPD dari file konfigurasi, serta batasan untuk fungsionalitas yang diterapkan oleh Unidrv atau Pscript atau prosesor cetak. Jika TRUE, metode ini harus mencoba menyelesaikan konflik. Jika FALSE, metode ini tidak boleh mencoba menyelesaikan konflik. Untuk informasi lebih lanjut, lihat bagian Keterangan.
[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
Pointer ke variabel yang menerima jumlah pasangan opsi fitur yang berhasil disimpan sebelum IPrintCoreHelper::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 GPD atau PPD dari file konfigurasi yang dilanggar, relatif terhadap pengaturan baru. |
SETOPTIONS_RESULT_CONFLICT_RESOLVED | Setidaknya satu batasan yang ditentukan dalam tampilan GPD atau PPD dari file konfigurasi dilanggar, dan pemanggil meminta agar metode tersebut 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 GPD atau PPD dari file konfigurasi dilanggar, dan pemanggil meminta agar metode tersebut tidak menyelesaikan konflik. Pengaturan tidak berubah, dan konflik tetap ada. |
Nilai kembali
IPrintCoreHelper::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
IPrintCoreHelper::SetOptions dapat digunakan untuk mengubah beberapa 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 (yaitu, disimpan ke registri) kecuali parameter bResolveConflicts adalah TRUE.
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) |
Lihat juga
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk