Metodo IPrintCoreUI2::GetOptions (prcomoem.h)

Il IPrintCoreUI2::GetOptions metodo recupera le impostazioni di funzionalità correnti 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, 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. La dimensione include l'ultimo MULTI_SZ carattere Null.

[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
S_OK
Il metodo è riuscito.
E_OUTOFMEMORY
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.

E_INVALIDARG
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.

E_NOTIMPL
Il metodo non è supportato.
E_FAIL
Il metodo non è riuscito

Commenti

Questo metodo è supportato solo per i plug-in dell'interfaccia utente Pscript5 di Windows XP che sostituiscono completamente le pagine standard dell'interfaccia utente del driver principale ed è supportato solo durante le funzioni IPrintOemUI::D ocumentPropertySheets e IPrintOemUI::D evicePropertySheets e le relative routine di callback della finestra delle proprietà. Per altre informazioni, vedere Sostituzione Driver-Supplied pagine delle finestre delle proprietà .

Se una parola chiave di funzionalità richiesta non viene riconosciuta o riconosciuta ma non è supportata nella modalità sticky corrente (document-sticky o printer-sticky - vedi Sostituzione di Driver-Supplied pagine delle finestre delle proprietà) o la parola chiave della funzionalità è 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 Uso di GetOptions e SetOptions.

Requisiti

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

Vedi anche

IPrintCoreUI2

IPrintCoreUI2::SetOptions

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ