Metodo IPrintCoreUI2::GetOptionAttribute (prcomoem.h)
Il IPrintCoreUI2::GetOptionAttribute
metodo recupera l'elenco di attributi di opzione o il valore di un attributo di opzione specifico.
Sintassi
HRESULT GetOptionAttribute(
[in] POEMUIOBJ poemuiobj,
[in] DWORD dwFlags,
[in] PCSTR pszFeatureKeyword,
[in] PCSTR pszOptionKeyword,
[in] PCSTR pszAttribute,
[out] PDWORD pdwDataType,
[out] PBYTE pbData,
[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 una stringa ASCII che specifica la singola parola chiave di funzionalità per cui eseguire una query.
[in] pszOptionKeyword
Puntatore a un buffer fornito dal chiamante contenente una stringa ASCII che specifica la parola chiave single option per cui eseguire una query. Questo valore può essere ottenuto da una chiamata precedente a IPrintCoreUI2::EnumOptions.
[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 supportati per l'opzione, anziché specificare un nome di attributo specifico per l'opzione.
[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 .
[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 |
---|---|
|
Il metodo è riuscito. |
|
Il valore in cbSize è minore del numero di byte da scrivere nel buffer di output (il buffer a cui punta pbData).
Il metodo è stato chiamato con pbData impostato su NULL. |
|
Il metodo ha tentato di eseguire una query per un attributo inesistente.
Il nome della parola chiave della funzionalità o il nome della parola chiave dell'opzione non sono stati riconosciuti. Il parametro poemuiobj punta a un oggetto contesto non valido. |
|
Il metodo non è riuscito |
Commenti
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 parametri pszAttribute e pbData impostati su NULL, il metodo restituisce con *pcbNeeded impostato sul numero di byte necessari per l'elenco di tutti i nomi di attributi supportati per l'opzione. Se il metodo viene chiamato una seconda volta, con pszAttribute impostato su NULL e pbData che punta a un buffer delle dimensioni specificate in *pcbNeeded nella chiamata precedente, il metodo restituisce con *pdwDataType impostato su kADT_ASCII (un enumeratore del tipo enumerato EATTRIBUTE_DATATYPE ) e pbData che punta a un elenco delimitato da null di tutti i nomi di attributi supportati per l'opzione. 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 Uso di GetOptionAttribute.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Desktop |
Intestazione | prcomoem.h (include Prcomoem.h) |
Vedi anche
IPrintCoreUI2::GetFeatureAttribute