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
S_OK
Metode berhasil.
E_OUTOFMEMORY
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.

E_INVALIDARG
Parameter poemuiobj menunjuk ke objek konteks yang tidak valid.
E_FAIL
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

IPrintCoreUI2

IPrintCoreUI2::EnumOptions

OEMUIOBJ