Metodo IPrintCoreHelperPS::WhyConstrained (prcomoem.h)

Il metodo IPrintCoreHelperPS::WhyConstrained fornisce un elenco di opzioni che limitano 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 viene fornito questo puntatore, 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 di base 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 utilizzata nel file PPD.

[in] pszOptionKeyword

Puntatore a una stringa ANSI contenente il nome dell'opzione. Il nome dell'opzione deve corrispondere alla parola chiave utilizzata 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 limitano 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 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.
 

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

Commenti

Se la coppia di opzioni di funzionalità specificata non è vincolata, IPrintCoreHelperPS::WhyConstrained restituirà S_OK ma restituirà con *pdwFOPairs impostata su 0 e con *ppFOConstraints[0] impostata 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 solo un'opzione della combinazione.

Requisiti

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

Vedi anche

IPrintCoreHelperPS

IPrintCoreHelperPS::EnumConstrainedOptions