IPrintCoreHelperUni::WhyConstrained method (prcomoem.h)

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

Sintaks

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

Parameter

[in, optional] pDevmode

Penunjuk ke struktur DEVMODEW . Jika pointer ini disediakan, IPrintCoreHelperUni::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 IPrintOemUni::D evMode, parameter ini diperlukan. Dalam sebagian besar situasi lainnya, parameter harus NULL. Ketika driver inti mengatur pDevmode ke NULL, ia 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 dilayankan 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.

[in] pszOptionKeyword

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

[out] ppFOConstraints

Penunjuk ke array elemen PRINT_FEATURE_OPTION . Saat IPrintCoreHelperUni::WhyConstrained kembali, 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

IPrintCoreHelperUni::WhyConstrained harus mengembalikan salah satu nilai berikut.

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

Untuk kegagalan lain, metode harus mengembalikan kode kesalahan COM standar.

Keterangan

Jika pasangan opsi fitur yang ditentukan tidak dibatasi, IPrintCoreHelperUni::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. 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

IPrintCoreHelperUni

IPrintCoreHelperUni::EnumConstrainedOptions