Condividi tramite


Metodo IPrintCoreUI2::EnumFeatures (prcomoem.h)

Il metodo IPrintCoreUI2::EnumFeatures enumera le funzionalità disponibili di una stampante.

Sintassi

HRESULT EnumFeatures(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [out] PZZSTR    pmszFeatureList,
  [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.

[out] pmszFeatureList

Puntatore a un buffer fornito dal chiamante che riceve un elenco di parole chiave di funzionalità delimitato da null in MULTI_SZ formato. L'elenco viene terminato con due caratteri Null.

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

[in] cbSize

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

[out] pcbNeeded

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

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 pmszFeatureList).

Il metodo è stato chiamato con pmszFeatureList impostato su NULL.

E_INVALIDARG
Il parametro poemuiobj punta a un oggetto contesto non valido.
E_FAIL
Il metodo non è riuscito

Osservazioni

Questo metodo è supportato solo per i plug-in Pscript5 di Windows XP, non per i plug-in Unidrv.

funzionalità di permanenti della stampante (vedere Sostituzione Driver-Supplied pagine della finestra delle proprietà), ad esempio quelle che determinano la memoria installabile e la presenza di accessori facoltativi, sono incluse nell'elenco delle parole chiave della funzionalità, visualizzato nel buffer di output a cui punta pmszFeatureList quando il metodo restituisce. Per Pscript5, tali funzionalità hanno l'attributo della funzionalità OpenGroupType impostato su "InstallableOptions".

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

Fabbisogno

Requisito Valore
piattaforma di destinazione Desktop
intestazione prcomoem.h (include Prcomoem.h)

Vedere anche

IPrintCoreUI2

IPrintCoreUI2::EnumOptions

OEMUIOBJ