Condividi tramite


Metodo IPrintCoreUI2::GetFeatureAttribute (prcomoem.h)

Il metodo IPrintCoreUI2::GetFeatureAttribute recupera l'elenco di attributi delle funzionalità o il valore di un attributo di funzionalità specifico.

Sintassi

HRESULT GetFeatureAttribute(
  [in]  POEMUIOBJ poemuiobj,
  [in]  DWORD     dwFlags,
  [in]  PCSTR     pszFeatureKeyword,
  [in]  PCSTR     pszAttribute,
  [out] PDWORD    pdwDataType,
  [out] PBYTE     pbData,
  [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] pszFeatureKeyword

Puntatore a un buffer fornito dal chiamante contenente una stringa ASCII che specifica la singola parola chiave della funzionalità da eseguire per la query. Questo valore può essere ottenuto da una chiamata precedente a IPrintCoreUI2::EnumFeatures.

[in] pszAttribute

Puntatore a un buffer fornito dal chiamante contenente una stringa ASCII che specifica il singolo attributo richiesto. Se questo parametro è NULL, il chiamante richiede un elenco di tutti i nomi di attributi di funzionalità supportati, anziché specificare un nome di attributo di funzionalità specifico.

[out] pdwDataType

Puntatore a una posizione di memoria che riceve un valore che specifica il tipo di dati dell'attributo richiesto. Questo valore è un enumeratore dell'enumerazione EATTRIBUTE_DATATYPE, definita in printoem.h.

[out] pbData

Puntatore a un buffer fornito dal chiamante che riceve i dati richiesti. Per eseguire semplicemente una query per il numero di byte necessari per soddisfare una richiesta, impostare questo parametro su NULL.

[in] cbSize

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

[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 era inferiore al numero di byte da scrivere nel buffer di output (il buffer a cui punta pbData).

Il metodo è stato chiamato con pbData impostato su NULL.

E_INVALIDARG
Il metodo ha tentato di eseguire una query per un attributo inesistente.

La parola chiave feature non è stata riconosciuta.

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.

Se questo metodo viene chiamato con i relativi pszAttribute e parametri pbData impostati su NULL, il metodo restituisce con *pcbNeededed impostato sul numero di byte necessari per l'elenco di tutti i nomi di attributo supportati per la funzionalità. Se il metodo viene chiamato una seconda volta, con pszAttribute impostato su NULL e pbData che punta a un buffer delle dimensioni specificate in * pcbNeededed nella chiamata precedente, il metodo restituisce con *pdwDataType impostato su kADT_ASCII (enumeratore del tipo enumerato EATTRIBUTE_DATATYPE) e pbData che punta a un elenco delimitato da null di tutti i nomi di attributo supportati per la funzionalità. Questo elenco viene terminato con due caratteri Null.

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

Fabbisogno

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

Vedere anche

IPrintCoreUI2

IPrintCoreUI2::EnumFeatures

IPrintCoreUI2::GetGlobalAttribute

IPrintCoreUI2::GetOptionAttribute

OEMUIOBJ