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 |
---|---|
|
Operazione completata. |
|
Uno o più argomenti non sono validi oppure la funzionalità non è supportata. |
|
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) |