Metodo IPrintCoreUI2::EnumConstrainedOptions (prcomoem.h)

Il IPrintCoreUI2::EnumConstrainedOptions metodo determina le opzioni di una funzionalità vincolate.

Sintassi

HRESULT EnumConstrainedOptions(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [out] PZZSTR    pmszConstrainedOptionList,
  [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] pszFeatureKeyword

Puntatore a un buffer fornito dal chiamante contenente la singola parola chiave della funzionalità di interesse per il chiamante.

[out] pmszConstrainedOptionList

Puntatore a un buffer fornito dal chiamante che riceve l'elenco di parole chiave di opzione, in MULTI_SZ formato, per questa funzionalità. Ogni parola chiave rappresenta un'opzione vincolata nella configurazione corrente.

Impostare questo parametro su NULL per eseguire semplicemente una query per le dimensioni (*pcbNeeded) dell'elenco di opzioni vincolate senza che l'elenco sia compilato.

[in] cbSize

Specifica le dimensioni, in byte, del buffer a cui punta pmszConstrainedOptionList.

[out] pcbNeeded

Puntatore a una posizione di memoria che riceve le dimensioni effettive, in byte, dell'elenco di opzioni vincolate.

Valore restituito

Questo metodo deve restituire uno dei valori seguenti.

Codice restituito Descrizione
S_OK
Il metodo è riuscito. Il metodo deve restituire questo valore anche se nessuna delle opzioni della funzionalità è vincolata. In questo caso, il metodo deve inserire un carattere Null nel buffer a cui punta pmszConstrainedOptionList e deve impostare **pcbNeeded* su 1.
E_OUTOFMEMORY
Il valore in cbSize è minore del numero di byte da scrivere nel buffer di output (il buffer a cui punta pmszConstrainedOptionList).

Il metodo è stato chiamato con pmszConstrainedOptionList impostato su NULL.

E_INVALIDARG
La stringa a cui punta pszFeatureKeyword non è stata riconosciuta.

Il parametro poemuiobj punta a un oggetto contesto non valido.

La persistenza della funzionalità non corrisponde a quella dell'oggetto contesto a cui punta peomuiobj. Vedere Sostituzione Driver-Supplied pagine della finestra delle proprietà.

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

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

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 .

Requisiti

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

Vedi anche

IPrintCoreUI2

IPrintCoreUI2::WhyConstrained

IPrintOemUI::D evicePropertySheets

IPrintOemUI::D ocumentPropertySheets

OEMUIOBJ