Metode IPrintCorePS2::GetGlobalAttribute (prcomoem.h)

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

Sintaks

HRESULT GetGlobalAttribute(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [in]  PCSTR   pszAttribute,
  [out] PDWORD  pdwDataType,
  [out] PBYTE   pbData,
  [in]  DWORD   cbSize,
  [out] PDWORD  pcbNeeded
);

Parameter

[in] pdevobj

Penunjuk ke struktur DEVOBJ .

[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 pdevobj menunjuk ke objek konteks driver yang tidak valid.

E_FAIL
Metode gagal.

Keterangan

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 menunjuk ke buffer ukuran yang ditentukan dalam *pcbNeeded di panggilan sebelumnya, metode mengembalikan dengan *pdwDataType diatur ke kADT_ASCII (enumerator dari jenis EATTRIBUTE_DATATYPE enumerasi) dan pbData menunjuk ke daftar null-delimited 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 diinginkan. Penelepon kemudian harus mengalokasikan buffer dengan ukuran yang lebih besar dan melanjutkan dengan panggilan kedua ke metode .

Metode ini didukung untuk plug-in render Pscript5 apa pun.

Untuk informasi selengkapnya, lihat Menggunakan GetGlobalAttribute.

Persyaratan

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

Lihat juga

DEVOBJ

IPrintCorePS2

IPrintCorePS2::GetFeatureAttribute

IPrintCorePS2::GetOptionAttribute