Condividi tramite


Metodo IPrintCoreHelper::WhyConstrained (prcomoem.h)

Il metodo IPrintCoreHelper::WhyConstrained fornisce un elenco di opzioni che vincolano la coppia di opzioni di funzionalità specificata nella configurazione corrente.

Sintassi

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

Parametri

[in] pDevmode

Puntatore a una struttura DEVMODEW . Se viene fornito questo puntatore, IPrintCoreHelper::WhyConstrained deve usare la struttura DEVMODEW a cui punta pDevmode anziché la struttura DEVMODEW predefinita o corrente. Se questo metodo viene chiamato dal provider plug-in o da IPrintOemPS::D evMode o IPrintOemUni::D evMode, questo parametro è obbligatorio. Nella maggior parte delle altre situazioni, il parametro deve essere NULL. Quando il driver principale imposta pDevmode su NULL, modifica lo stato interno anziché quello della struttura DEVMODEW passata. Questa operazione è necessaria durante operazioni come la sostituzione completa dell'interfaccia utente, in cui la struttura DEVMODEW restituita da un DDI, ad esempio DrvDocumentPropertySheets, viene eseguita dal modulo dell'interfaccia utente del driver principale.

[in] cbSize

Dimensione, in byte, della struttura DEVMODEW a cui punta il parametro pDevmode .

[in] pszFeatureKeyword

Puntatore a una stringa ANSI contenente il nome della funzionalità. Il nome della funzionalità deve corrispondere alla parola chiave usata nel file GPD o PPD.

[in] pszOptionKeyword

Puntatore a una stringa ANSI contenente il nome dell'opzione. Il nome dell'opzione deve corrispondere alla parola chiave usata nel file GPD o PPD.

[out] ppFOConstraints

Puntatore a una matrice di elementi PRINT_FEATURE_OPTION . Quando IPrintCoreHelper::WhyConstrained restituisce, la matrice contiene un elenco di coppie feature-element delle opzioni che vincolano le opzioni specificate nel parametro pszOptionKeyword .

[out] pdwNumOptions

Puntatore a una variabile che riceve il numero di coppie feature-option nella matrice a cui punta il parametro ppFOConstraints .

Valore restituito

IPrintCoreHelper::WhyConstrained deve restituire uno dei valori seguenti.

Codice restituito Descrizione
S_OK
Operazione completata.
E_INVALIDARG
Uno o più argomenti non sono validi oppure la funzionalità non è supportata.
E_OUTOFMEMORY
Impossibile allocare la memoria per la matrice di risultati.

Commenti

Se la coppia di opzioni di funzionalità specificata non è vincolata, IPrintCoreHelper::WhyConstrained restituirà S_OK ma restituirà con *pdwFOPairs impostato su 0 e con *ppFOConstraints[0] impostato su NULL.

Si noti che i risultati di questo metodo potrebbero non contenere tutte le opzioni che influiscono sull'opzione attualmente selezionata. Per i driver Unidrv, questo elenco includerà almeno un'opzione di ogni set di vincoli attivo. Se sono presenti combinazioni non valide che elencano più di due coppie di opzioni di funzionalità, tuttavia, nell'elenco verrà inclusa una sola opzione della combinazione.

Requisiti

Requisito Valore
Piattaforma di destinazione Desktop
Intestazione prcomoem.h (include Prcomoem.h)

Vedi anche

IPrintCoreHelper

IPrintCoreHelper::EnumConstrainedOptions