Metodo IPrintCoreHelperUni::SetOptions (prcomoem.h)
Il metodo IPrintCoreHelperUni::SetOptions imposta più coppie di opzioni di funzionalità contemporaneamente.
Sintassi
HRESULT SetOptions(
[in, optional] IN PDEVMODE pDevmode,
[in] IN DWORD cbSize,
[in] IN BOOL bResolveConflicts,
[in] IN const PRINT_FEATURE_OPTION [] pFOPairs,
[in] IN DWORD cPairs,
[out] OUT PDWORD pcPairsWritten,
[out] OUT PDWORD pdwResult
);
Parametri
[in, optional] pDevmode
Puntatore a una struttura DEVMODEW . Se viene fornito questo puntatore, IPrintCoreHelperUni::SetOptions 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] bResolveConflicts
Valore booleano che indica se IPrintCoreHelperUni::SetOptions deve risolvere i conflitti derivanti da uno o più vincoli nella visualizzazione Criteri di gruppo del file di configurazione, nonché vincoli per le funzionalità implementate da Unidrv o dal processore di stampa. Se TRUE, questo metodo deve tentare di risolvere il conflitto. Se FALSE, questo metodo non deve tentare di risolvere i conflitti.
[in] pFOPairs
Matrice di elementi PRINT_FEATURE_OPTION , in cui ogni elemento contiene una coppia di opzioni di funzionalità. Ogni coppia di opzioni di funzionalità elenca una funzionalità e l'opzione da selezionare per tale funzionalità. Tutte le impostazioni vengono applicate in sequenza. I duplicati non sono consentiti, ma le impostazioni che vengono visualizzate più avanti nella matrice ,ovvero in corrispondenza di un indice superiore, eseguono l'override di quelle che vengono visualizzate in precedenza nella matrice.
[in] cPairs
Numero di coppie di opzioni di funzionalità a cui punta il parametro pFOPairs .
[out] pcPairsWritten
Puntatore a una variabile che riceve il numero di coppie di opzioni di funzionalità salvate correttamente prima di IPrintCoreHelperUni::SetOptions restituite o non riuscite. Se questo metodo restituisce correttamente, pcPairsWritten avrà lo stesso valore di cPairs. Se il metodo ha esito negativo, pcPairsWritten può avere un valore compreso tra zero e il valore di cPairs. Questo parametro è facoltativo e può essere NULL.
[out] pdwResult
Puntatore a una variabile che riceve lo stato della risoluzione dei conflitti. Lo stato può essere uno dei valori seguenti.
Valore | Descrizione |
---|---|
SETOPTIONS_RESULT_NO_CONFLICT | Nessun vincolo specificato nella visualizzazione Criteri di gruppo del file di configurazione è stato violato, rispetto alla nuova impostazione. |
SETOPTIONS_RESULT_CONFLICT_RESOLVED | Almeno un vincolo specificato nella visualizzazione Criteri di gruppo del file di configurazione è stato violato e il chiamante ha richiesto che il metodo debba risolvere i conflitti. Questo valore genera impostazioni modificate con conflitti risolti. |
SETOPTIONS_RESULT_CONFLICT_NOT_RESOLVED | Almeno un vincolo specificato nella visualizzazione Criteri di gruppo del file di configurazione è stato violato e il chiamante ha richiesto che il metodo non debba risolvere i conflitti. Le impostazioni non cambiano e i conflitti rimangono. |
Valore restituito
IPrintCoreHelperUni::SetOptions 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
IPrintCoreHelperUni::SetOptions può essere usato per apportare più modifiche alle impostazioni contemporaneamente e per risolvere i vincoli dopo aver impostato tutte le opzioni selezionate. Le modifiche alle opzioni vengono applicate in sequenza, a partire dall'inizio della matrice pFOPairs , quindi se la stessa funzionalità viene visualizzata due volte in questa matrice, verrà selezionata solo l'ultima opzione per la funzionalità. Le modifiche alle opzioni non vengono eseguite a meno che il parametro bResolveConflicts non sia TRUE.
Per la maggior parte degli scenari, il parametro bResolveConflicts deve essere impostato su TRUE. Impostare questo parametro su FALSE se si vuole richiedere all'utente di risolvere i conflitti.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | prcomoem.h (include Prcomoem.h) |