IPrintCoreHelper::WhyConstrained method (prcomoem.h)

Metode IPrintCoreHelper::WhyConstrained menyediakan daftar opsi yang membatasi pasangan opsi fitur yang ditentukan dalam konfigurasi saat ini.

Sintaks

HRESULT WhyConstrained(
  [in]  const DEVMODE              *pDevmode,
  [in]  DWORD                      cbSize,
  [in]  PCSTR                      pszFeatureKeyword,
  [in]  PCSTR                      pszOptionKeyword,
  [out] const PRINT_FEATURE_OPTION **ppFOConstraints,
  [out] DWORD                      *pdwNumOptions
);

Parameter

[in] pDevmode

Penunjuk ke struktur DEVMODEW . Jika pointer ini disediakan, IPrintCoreHelper::WhyConstrained harus menggunakan struktur DEVMODEW yang diarahkan oleh pDevmode alih-alih struktur DEVMODEW default atau saat ini. Jika metode ini dipanggil dari penyedia plug-in atau dari IPrintOemPS::D evMode atau IPrintOemUni::D evMode, parameter ini diperlukan. Dalam sebagian besar situasi lain, parameter harus NULL. Ketika driver inti mengatur pDevmode ke NULL, driver ini memodifikasi status internalnya daripada struktur DEVMODEW yang diteruskan. Ini diperlukan selama operasi seperti penggantian UI penuh, di mana struktur DEVMODEW yang dikembalikan oleh DDI, seperti DrvDocumentPropertySheets, sedang dilayanakan oleh modul UI driver inti.

[in] cbSize

Ukuran, dalam byte, dari struktur DEVMODEW yang diarahkan oleh parameter pDevmode .

[in] pszFeatureKeyword

Penunjuk ke string ANSI yang berisi nama fitur. Nama fitur harus sesuai dengan kata kunci yang digunakan dalam file GPD atau PPD.

[in] pszOptionKeyword

Penunjuk ke string ANSI yang berisi nama opsi. Nama opsi harus sesuai dengan kata kunci yang digunakan dalam file GPD atau PPD.

[out] ppFOConstraints

Penunjuk ke array elemen PRINT_FEATURE_OPTION . Saat IPrintCoreHelper::WhyConstrained mengembalikan, array berisi daftar pasangan elemen fitur dari opsi yang membatasi opsi yang ditentukan dalam parameter pszOptionKeyword .

[out] pdwNumOptions

Penunjuk ke variabel yang menerima jumlah pasangan opsi fitur dalam array yang ditunjukkan oleh parameter ppFOConstraints .

Nilai kembali

IPrintCoreHelper::WhyConstrained harus mengembalikan salah satu nilai berikut.

Menampilkan kode Deskripsi
S_OK
Operasi berhasil.
E_INVALIDARG
Satu atau beberapa argumen tidak valid, atau fitur ini tidak didukung.
E_OUTOFMEMORY
Memori untuk array hasil tidak dapat dialokasikan.

Keterangan

Jika pasangan opsi fitur yang ditentukan tidak dibatasi, IPrintCoreHelper::WhyConstrained akan mengembalikan S_OK tetapi akan kembali dengan *pdwFOPairs diatur ke 0 dan dengan *ppFOConstraints[0] diatur ke NULL.

Perhatikan bahwa hasil dari metode ini mungkin tidak berisi semua opsi yang memengaruhi opsi yang saat ini dipilih. Untuk driver Unidrv, daftar ini akan menyertakan setidaknya satu opsi dari setiap set batasan yang aktif. Namun, jika ada kombinasi yang tidak valid yang mencantumkan lebih dari dua pasangan opsi fitur, hanya satu opsi dari kombinasi yang akan disertakan dalam daftar.

Persyaratan

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

Lihat juga

IPrintCoreHelper

IPrintCoreHelper::EnumConstrainedOptions