Metodo IPrintCorePS2::EnumOptions (prcomoem.h)

Il IPrintCorePS2::EnumOptions metodo enumera le opzioni disponibili di una funzionalità specifica.

Sintassi

HRESULT EnumOptions(
  [in]  PDEVOBJ pdevobj,
  [in]  DWORD   dwFlags,
  [in]  PCSTR   pszFeatureKeyword,
  [out] PSTR    pmszOptionList,
  [in]  DWORD   cbSize,
  [out] PDWORD  pcbNeeded
);

Parametri

[in] pdevobj

Puntatore a una struttura DEVOBJ .

[in] dwFlags

È riservato e deve essere impostato su zero.

[in] pszFeatureKeyword

Puntatore a un buffer fornito dal chiamante contenente una stringa ASCII, specificando una parola chiave di funzionalità le cui opzioni sono richieste.

[out] pmszOptionList

Puntatore a un buffer fornito dal chiamante che riceve un elenco delimitato da null, in MULTI_SZ formato contenente le parole chiave di opzione per la parola chiave feature a cui punta pszFeatureKeyword. Questo elenco viene terminato con due caratteri Null.

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

[in] cbSize

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

[out] pcbNeeded

Puntatore a una posizione di memoria che riceve le dimensioni effettive, in byte, dei dati richiesti.

Valore restituito

Questo 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 pmszOptionList).

Il metodo è stato chiamato con pmszOptionList impostato su NULL.

E_INVALIDARG
La stringa a cui punta pszFeatureKeyword non è una funzionalità riconosciuta.

Il parametro pdevobj punta a un oggetto contesto driver non valido.

E_NOTIMPL
(solo Pscript)

La funzionalità driver Pscript5 non è supportata nella configurazione corrente.

La funzionalità driver Pscript5 è supportata nella configurazione corrente, ma le opzioni della funzionalità driver Pscript5 non sono enumerabili.

E_FAIL
Il metodo non è riuscito.

Commenti

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 .

Questo metodo è supportato per qualsiasi plug-in di rendering Pscript5.

Per altre informazioni, vedere Uso di EnumOptions.

Requisiti

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

Vedi anche

DEVOBJ

IPrintCorePS2

IPrintCorePS2::EnumFeatures