IPrintCoreUI2::WhyConstrained method (prcomoem.h)
Metode IPrintCoreUI2::WhyConstrained
menentukan mengapa pemilihan fitur/opsi yang ditentukan dibatasi.
Sintaks
HRESULT WhyConstrained(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszFeatureKeyword,
[in] PCSTR pszOptionKeyword,
[out] PZZSTR pmszReasonList,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Parameter
[in] poemuiobj
Arahkan ke konteks saat ini, struktur OEMUIOBJ .
[in] dwFlags
Dicadangkan dan harus diatur ke nol.
[in] pszFeatureKeyword
Penunjuk ke buffer yang disediakan penelepon yang berisi kata kunci fitur tunggal yang menarik bagi pemanggil.
[in] pszOptionKeyword
Penunjuk ke buffer yang disediakan penelepon yang berisi kata kunci opsi.
[out] pmszReasonList
Penunjuk ke buffer yang disediakan penelepon yang menerima daftar pasangan kata kunci fitur/opsi yang menempatkan batasan pada fitur/opsi yang ditentukan. Daftar ini dalam format MULTI_SZ dengan setiap item dalam daftar yang dipisahkan dari karakter null berikutnya. Daftar dihentikan dengan dua karakter null.
Atur parameter ini ke NULL agar hanya mengkueri ukuran (*pcbNeeded) dari daftar alasan tanpa mengisi daftar.
[in] cbSize
Menentukan ukuran, dalam byte, dari buffer yang diacu oleh pmszReasonList.
[out] pcbNeeded
Penunjuk ke lokasi memori yang menerima ukuran aktual, dalam byte, dari daftar alasan.
Nilai kembali
Metode harus mengembalikan salah satu nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Metode berhasil. |
|
Nilai dalam cbSize lebih kecil dari jumlah byte yang akan ditulis ke buffer output (buffer yang ditujukkan oleh pmszReasonList).
Metode ini dipanggil dengan pmszReasonList diatur ke NULL. |
|
Metode ini tidak didukung. |
|
Parameter poemuiobj menunjuk ke objek konteks yang tidak valid.
Kata kunci fitur atau kata kunci opsi tidak dikenali. Kelekatan fitur (lihat Mengganti Driver-Supplied Halaman Lembar Properti) tidak cocok dengan yang ditentukan dalam konteks saat ini. |
|
Metode gagal |
Keterangan
Metode ini hanya didukung untuk plug-in UI Windows XP Pscript5 yang sepenuhnya menggantikan halaman UI standar driver inti, dan hanya didukung selama plug-in UI IPrintOemUI::D ocumentPropertySheets dan IPrintOemUI::D evicePropertySheets fungsi, dan rutinitas panggilan balik lembar properti mereka. Lihat Mengganti halaman Lembar Properti Driver-Supplied untuk informasi selengkapnya.
Ketika pengguna UI OEM mencoba memilih item yang dibatasi, pemanggil dapat menggunakan metode ini untuk menampilkan pesan yang menjelaskan mengapa item dibatasi. Ketika metode ini kembali, pmszReasonList menunjuk ke daftar satu atau beberapa pasangan fitur/opsi yang muncul di pengaturan driver saat ini, tetapi bertentangan dengan kata kunci fitur/opsi yang dipilih. Jika tidak ada konflik, metode harus mengembalikan S_OK, pmszReasonList harus diisi dengan string ASCII kosong yang hanya berisi karakter null, dan *pcbNeeded harus diatur ke 1.
Untuk mengurangi kebutuhan untuk melakukan dua panggilan per akses data, berikan metode buffer output dengan ukuran tetap (1 KB, misalnya), lalu periksa nilai pengembalian fungsi. Jika metode mengembalikan S_OK, buffer sudah berisi data yang diminati. Jika metode mengembalikan E_OUTOFMEMORY, nilai dalam *pcbNeeded adalah ukuran buffer yang diperlukan untuk menyimpan data yang diinginkan. Penelepon kemudian harus mengalokasikan buffer dengan ukuran yang lebih besar dan melanjutkan dengan panggilan kedua ke metode .
Persyaratan
Persyaratan | Nilai |
---|---|
Target Platform | Desktop |
Header | prcomoem.h (termasuk Prcomoem.h) |
Lihat juga
IPrintCoreUI2::EnumConstrainedOptions
IPrintOemUI::D evicePropertySheets
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