Condividi tramite


Metodo IPrintCoreHelperPS::WhyConstrained (prcomoem.h)

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

Sintassi

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
);

Parametri

[in, optional] pDevmode

Puntatore a una struttura DEVMODEW. Se questo puntatore viene fornito, IPrintCoreHelperPS::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, 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

Dimensioni, 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 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 PPD.

[out] ppFOConstraints

Puntatore a una matrice di elementi PRINT_FEATURE_OPTION. Quando IPrintCoreHelperPS::WhyConstrained restituisce, la matrice contiene un elenco di coppie di elementi di funzionalità delle opzioni che vincolano le opzioni specificate nel parametro pszOptionKeyword .

[out] pdwNumOptions

Puntatore a una variabile che riceve il numero di coppie di opzioni di funzionalità nella matrice a cui punta il parametro ppFOConstraints.

Valore restituito

IPrintCoreHelperPS::WhyConstrained deve restituire uno dei valori seguenti.

Codice restituito Descrizione
S_OK
Operazione riuscita.
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.
 

Per altri errori, il metodo deve restituire un codice di errore COM standard.

Osservazioni

Se la coppia di opzioni di funzionalità specificata non è vincolata, IPrintCoreHelperPS::WhyConstrained restituirà S_OK ma restituirà *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. Se sono presenti combinazioni non valide, tuttavia, nell'elenco verrà inclusa una sola opzione della combinazione.

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione prcomoem.h (include Prcomoem.h)

Vedere anche

IPrintCoreHelperPS

IPrintCoreHelperPS::EnumConstrainedOptions