Funzione OleRegEnumFormatEtc (ole2.h)
Crea un oggetto di enumerazione che può essere utilizzato per enumerare i formati di dati registrati da un server oggetti OLE nel Registro di sistema. Un'applicazione oggetto o un gestore oggetti chiama questa funzione quando deve enumerare tali formati. Gli sviluppatori di applicazioni oggetti DLL personalizzate usano questa funzione per emulare il comportamento del gestore oggetti predefinito.
Sintassi
HRESULT OleRegEnumFormatEtc(
[in] REFCLSID clsid,
[in] DWORD dwDirection,
[out] LPENUMFORMATETC *ppenum
);
Parametri
[in] clsid
CLSID della classe i cui formati vengono richiesti.
[in] dwDirection
Indica se enumerare i formati che possono essere passati a IDataObject::GetData o formati che possono essere passati a IDataObject::SetData. I valori possibili vengono ricavati dall'enumerazione DATADIR.
[out] ppenum
Indirizzo della variabile puntatore IEnumFORMATETC che riceve il puntatore dell'interfaccia all'oggetto di enumerazione.
Valore restituito
Questa funzione restituisce S_OK in caso di esito positivo. Altri valori possibili includono quanto segue.
Codice restituito | Descrizione |
---|---|
|
Memoria insufficiente per l'operazione. |
|
Nessun CLSID registrato per l'oggetto classe. |
|
Errore durante la lettura del Registro di sistema. |
|
La chiave DataFormats/GetSet non è presente nel Registro di sistema. |
Commenti
Le applicazioni oggetto possono chiedere a OLE di creare un oggetto di enumerazione per le strutture FORMATETC per enumerare i formati di dati supportati in uno dei due modi. Un modo consiste nel chiamare OleRegEnumFormatEtc. L'altro consiste nel restituire OLE_S_USEREG in risposta alle chiamate dal gestore dell'oggetto predefinito a IDataObject::EnumFormatEtc. OLE_S_USEREG indica al gestore predefinito di chiamare OleRegEnumFormatEtc. Poiché le applicazioni oggetto DLL non possono restituire OLE_S_USEREG, devono chiamare OleRegEnumFormatEtc anziché delegare il processo al gestore oggetti. Con il puntatore IEnumFORMATETC fornito all'oggetto, è possibile chiamare i metodi dell'oggetto di enumerazione standard per eseguire l'enumerazione .
La funzione OleRegEnumFormatEtc e le relative funzioni di pari livello, OleRegGetUserType, OleRegGetMiscStatus e OleRegEnumVerbs consentono agli sviluppatori di applicazioni di oggetti DLL personalizzate di emulare il comportamento del gestore oggetti predefinito di OLE per ottenere informazioni sugli oggetti dal Registro di sistema. Usando queste funzioni, si evitano le notevoli operazioni di scrittura personalizzate e le insidie intrinseche nel lavorare direttamente nel Registro di sistema. Inoltre, si ottengono miglioramenti e ottimizzazioni futuri di queste funzioni senza dover codificarli manualmente.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | ole2.h |
Libreria | Ole32.lib |
DLL | Ole32.dll |