Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il metodo IPrintCoreUI2::GetOptions recupera le impostazioni correnti della funzionalità del driver nel formato di un elenco di coppie di parole chiave feature/option.
Sintassi
HRESULT GetOptions(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCZZSTR pmszFeaturesRequested,
[in] DWORD cbIn,
[out] PZZSTR pmszFeatureOptionBuf,
[in] DWORD cbSize,
[out] PDWORD pcbNeeded
);
Parametri
[in] poemuiobj
Puntatore al contesto corrente, una struttura OEMUIOBJ.
[in] dwFlags
È riservato e deve essere impostato su zero.
[in] pmszFeaturesRequested
Puntatore al buffer fornito dal chiamante contenente un elenco di parole chiave di funzionalità (in formato MULTI_SZ) le cui impostazioni sono richieste. Impostare questo parametro su NULL per ottenere le impostazioni per tutte le funzionalità.
[in] cbIn
Specifica le dimensioni, in byte, del buffer a cui punta pmszFeaturesRequested. Le dimensioni includono l'ultimo carattere null MULTI_SZ.
[out] pmszFeatureOptionBuf
Puntatore a un buffer fornito dal chiamante che riceve un elenco di coppie di parole chiave feature/option (in formato MULTI_SZ) ottenute dalle impostazioni del driver. Ogni coppia di parole chiave feature/option contiene il nome della parola chiave della funzionalità, un carattere Null, il nome della parola chiave dell'opzione e un altro carattere Null. L'elenco viene terminato da due caratteri Null.
[in] cbSize
Specifica le dimensioni, in byte, del buffer a cui punta pmszFeatureOptionBuf.
[out] pcbNeeded
Puntatore a una posizione di memoria che riceve le dimensioni effettive, in byte, delle coppie di parole chiave feature/option.
Valore restituito
Il metodo deve restituire uno dei valori seguenti.
| Codice restituito | Descrizione |
|---|---|
|
Il metodo è riuscito. |
|
Il valore in cbSize è minore del numero di byte da scrivere nel buffer di output (il buffer a cui punta pmszFeatureOptionBuf).
Il metodo è stato chiamato con pmszFeatureOptionBuf impostato su NULL. |
|
Il buffer di input (il buffer a cui punta pmszFeaturesRequested) è stato fornito, ma il relativo contenuto non era in formato MULTI_SZ.
Il parametro poemuiobj punta a un oggetto contesto non valido. |
|
Il metodo non è supportato. |
|
Il metodo non è riuscito |
Osservazioni
Questo metodo è supportato solo per i plug-in dell'interfaccia utente di Windows XP Pscript5 che sostituiscono completamente le pagine dell'interfaccia utente standard del driver principale ed è supportato solo durante il plug-in dell'interfaccia utente IPrintOemUI::D ocumentPropertySheets e IPrintOemUI::D evicevicePropertySheets funzioni e le relative routine di callback del foglio delle proprietà. Per altre informazioni, vedere Sostituzione delle pagine della finestra delle proprietà Driver-Supplied.
Se una parola chiave della funzionalità richiesta non viene riconosciuta o riconosciuta, ma non supportata nella modalità sticky corrente ( o con sticky della stampante, vedere Sostituzione Driver-Supplied pagine delle proprietà) o la parola chiave della funzionalità viene riconosciuta, ma attualmente non è disponibile alcuna selezione di opzioni, la funzionalità viene semplicemente ignorata e la coppia di parole chiave feature/option non viene inserita nel buffer di output.
Per ridurre la necessità di effettuare due chiamate per accesso ai dati, passare il metodo un buffer di output di una dimensione fissa (ad esempio 1 KB) e quindi controllare il valore restituito dalla funzione. Se il metodo restituisce S_OK, il buffer contiene già i dati di interesse. Se il metodo restituisce E_OUTOFMEMORY, il valore in * pcbNeeded è la dimensione del buffer necessaria per contenere i dati di interesse. Il chiamante deve quindi allocare un buffer di dimensioni maggiori e procedere con una seconda chiamata al metodo .
Per altre informazioni, vedere Using GetOptions and SetOptions.
Fabbisogno
| Requisito | Valore |
|---|---|
| piattaforma di destinazione | Desktop |
| intestazione | prcomoem.h (include Prcomoem.h) |
Vedere anche
IPrintOemUI::D evicePropertySheets