Metode IPrintCoreUI2::GetGlobalAttribute (prcomoem.h)

Metode ini IPrintCoreUI2::GetGlobalAttribute mengambil daftar atribut global atau nilai atribut global tertentu.

Sintaks

HRESULT GetGlobalAttribute(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszAttribute,
  [out] PDWORD    pdwDataType,
  [out] PBYTE     pbData,
  [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] pszAttribute

Penunjuk ke buffer yang disediakan penelepon yang berisi string ASCII yang menentukan atribut tunggal yang diminta. Jika parameter ini NULL, pemanggil meminta daftar semua nama atribut global yang didukung, dibandingkan dengan menentukan nama atribut global tertentu.

[out] pdwDataType

Penunjuk ke lokasi memori yang menerima nilai yang menentukan jenis data atribut yang diminta. Nilai ini adalah enumerator enumerasi EATTRIBUTE_DATATYPE , yang didefinisikan dalam printoem.h.

[out] pbData

Penunjuk ke buffer yang disediakan penelepon yang menerima data yang diminta. Untuk hanya mengkueri jumlah byte yang diperlukan untuk memenuhi permintaan, atur parameter ini ke NULL.

[in] cbSize

Menentukan ukuran, dalam byte buffer yang diacu oleh pbData.

[out] pcbNeeded

Penunjuk ke lokasi memori yang menerima ukuran aktual, dalam byte, dari data yang diminta.

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 diacu oleh pbData).

Metode ini dipanggil dengan pbData diatur ke NULL.

E_INVALIDARG
Metode ini mencoba mengkueri atribut yang tidak ada.

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.

Jika metode ini dipanggil dengan parameter pszAttribute dan pbData yang diatur ke NULL, metode mengembalikan dengan *pcbNeeded diatur ke jumlah byte yang diperlukan untuk daftar semua nama atribut global yang didukung. Jika metode dipanggil untuk kedua kalinya, dengan pszAttribute diatur ke NULL dan pbData yang menunjuk ke buffer ukuran yang ditentukan dalam *pcbNeeded pada panggilan sebelumnya, metode mengembalikan dengan *pdwDataType diatur ke kADT_ASCII (enumerator dari jenis enumerasi EATTRIBUTE_DATATYPE ) dan pbData menunjuk ke daftar null-dibatasi dari semua nama atribut global yang didukung. Daftar ini dihentikan dengan dua karakter null.

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 diminati. Penelepon kemudian harus mengalokasikan buffer dengan ukuran yang lebih besar dan melanjutkan panggilan kedua ke metode .

Untuk informasi selengkapnya, lihat Menggunakan GetGlobalAttribute.

Persyaratan

Persyaratan Nilai
Target Platform Desktop
Header prcomoem.h (termasuk Prcomoem.h)

Lihat juga

IPrintCoreUI2

IPrintCoreUI2::GetFeatureAttribute

IPrintCoreUI2::GetOptionAttribute

OEMUIOBJ