Metode IPrintCoreUI2::EnumFeatures (prcomoem.h)
Metode ini IPrintCoreUI2::EnumFeatures
menghitung fitur printer yang tersedia.
Sintaks
HRESULT EnumFeatures(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[out] PZZSTR pmszFeatureList,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Parameter
[in] poemuiobj
Arahkan ke konteks saat ini, struktur OEMUIOBJ .
[in] dwFlags
Dicadangkan dan harus diatur ke nol.
[out] pmszFeatureList
Penunjuk ke buffer yang disediakan penelepon yang menerima daftar kata kunci fitur yang dibatasi null dalam format MULTI_SZ. Daftar dihentikan dengan dua karakter null.
Atur parameter ini ke NULL agar hanya mengkueri ukuran (*pcbNeeded) dari daftar fitur tanpa mengisi daftar.
[in] cbSize
Menentukan ukuran, dalam byte, dari buffer yang diacu oleh pmszFeatureList.
[out] pcbNeeded
Penunjuk ke lokasi memori yang menerima ukuran aktual, dalam byte, dari daftar fitur.
Nilai kembali
Metode ini 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 pmszFeatureList).
Metode ini dipanggil dengan pmszFeatureList diatur ke NULL. |
|
Parameter poemuiobj menunjuk ke objek konteks yang tidak valid. |
|
Metode gagal |
Keterangan
Metode ini hanya didukung untuk plug-in Windows XP Pscript5, bukan untuk plug-in Unidrv.
fitur printer-sticky (lihat Mengganti Driver-Supplied Halaman Lembar Properti), seperti yang menentukan memori yang dapat diinstal dan keberadaan aksesori opsional, disertakan dalam daftar kata kunci fitur, yang muncul dalam buffer output yang ditujukan oleh pmszFeatureList saat metode kembali. Untuk Pscript5, fitur tersebut memiliki atribut fitur OpenGroupType yang diatur ke "InstallableOptions".
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 .
Untuk informasi selengkapnya, lihat Menggunakan EnumFeatures.
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