Partager via


OleRegEnumFormatEtc, fonction (ole2.h)

Crée un objet d’énumération qui peut être utilisé pour énumérer les formats de données qu’un serveur d’objets OLE a inscrits dans le registre système. Une application d’objet ou un gestionnaire d’objets appelle cette fonction lorsqu’elle doit énumérer ces formats. Les développeurs d’applications d’objets DLL personnalisées utilisent cette fonction pour émuler le comportement du gestionnaire d’objets par défaut.

Syntaxe

HRESULT OleRegEnumFormatEtc(
  [in]  REFCLSID        clsid,
  [in]  DWORD           dwDirection,
  [out] LPENUMFORMATETC *ppenum
);

Paramètres

[in] clsid

CLSID de la classe dont les formats sont demandés.

[in] dwDirection

Indique s’il faut énumérer les formats qui peuvent être passés à IDataObject ::GetData ou les formats qui peuvent être transmis à IDataObject ::SetData. Les valeurs possibles sont extraites de l’énumération DATADIR.

[out] ppenum

Adresse de la variable pointeur IEnumFORMATETC qui reçoit le pointeur d’interface vers l’objet d’énumération.

Valeur retournée

Cette fonction retourne S_OK en cas de réussite. Les autres valeurs possibles sont les suivantes.

Code de retour Description
E_OUTOFMEMORY
Mémoire insuffisante pour l’opération.
REGDB_E_CLASSNOTREG
Aucun CLSID n’est inscrit pour l’objet de classe.
REGDB_E_READREGDB
Une erreur s’est produite lors de la lecture du Registre.
OLE_E_REGDB_KEY
La clé DataFormats/GetSet est manquante dans le Registre.

Remarques

Les applications objet peuvent demander à OLE de créer un objet d’énumération pour les structures FORMATETC afin d’énumérer les formats de données pris en charge de deux manières. Une méthode consiste à appeler OleRegEnumFormatEtc. L’autre consiste à retourner OLE_S_USEREG en réponse aux appels du gestionnaire d’objets par défaut à IDataObject ::EnumFormatEtc. OLE_S_USEREG indique au gestionnaire par défaut d’appeler OleRegEnumFormatEtc. Étant donné que les applications d’objet DLL ne peuvent pas retourner OLE_S_USEREG, elles doivent appeler OleRegEnumFormatEtc au lieu de déléguer le travail au gestionnaire d’objets. Avec le pointeur IEnumFORMATETC fourni vers l’objet, vous pouvez appeler les méthodes d’objet d’énumération standard pour effectuer l’énumération.

La fonction OleRegEnumFormatEtc et ses fonctions frères, OleRegGetUserType, OleRegGetMiscStatus et OleRegEnumVerbs, permettent aux développeurs d’applications objet DLL personnalisées d’émuler le comportement du gestionnaire d’objets par défaut d’OLE pour obtenir des informations sur les objets du Registre. En utilisant ces fonctions, vous évitez le travail considérable d’écriture des vôtres et les pièges inhérents au travail directement dans le registre. En outre, vous bénéficiez d’améliorations et d’optimisations futures de ces fonctions sans avoir à les coder vous-même.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête ole2.h
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

IDataObject ::EnumFormatEtc

IEnumFORMATETC