Función OleRegEnumFormatEtc (ole2.h)
Crea un objeto de enumeración que se puede usar para enumerar los formatos de datos que un servidor de objetos OLE ha registrado en el registro del sistema. Una aplicación de objeto o un controlador de objetos llama a esta función cuando debe enumerar esos formatos. Los desarrolladores de aplicaciones de objetos DLL personalizadas usan esta función para emular el comportamiento del controlador de objetos predeterminado.
Sintaxis
HRESULT OleRegEnumFormatEtc(
[in] REFCLSID clsid,
[in] DWORD dwDirection,
[out] LPENUMFORMATETC *ppenum
);
Parámetros
[in] clsid
CLSID de la clase cuyos formatos se solicitan.
[in] dwDirection
Indica si se van a enumerar los formatos que se pueden pasar a IDataObject::GetData o los formatos que se pueden pasar a IDataObject::SetData. Los valores posibles se toman de la enumeración DATADIR.
[out] ppenum
Dirección de la variable de puntero IEnumFORMATETC que recibe el puntero de interfaz al objeto de enumeración.
Valor devuelto
Esta función devuelve S_OK si se ejecuta correctamente. Otros valores posibles incluyen lo siguiente.
Código devuelto | Descripción |
---|---|
|
Memoria insuficiente para la operación. |
|
No hay ningún CLSID registrado para el objeto de clase. |
|
Error al leer el registro. |
|
Falta la clave DataFormats/GetSet en el Registro. |
Comentarios
Las aplicaciones de objeto pueden pedir a OLE que cree un objeto de enumeración para estructuras FORMATETC para enumerar los formatos de datos admitidos de una de dos maneras. Una manera es llamar a OleRegEnumFormatEtc. El otro es devolver OLE_S_USEREG en respuesta a las llamadas del controlador de objetos predeterminado a IDataObject::EnumFormatEtc. OLE_S_USEREG indica al controlador predeterminado que llame a OleRegEnumFormatEtc. Dado que las aplicaciones de objetos DLL no pueden devolver OLE_S_USEREG, deben llamar a OleRegEnumFormatEtc en lugar de delegar el trabajo en el controlador de objetos. Con el puntero IEnumFORMATETC proporcionado al objeto, puede llamar a los métodos de objeto de enumeración estándar para realizar la enumeración.
La función OleRegEnumFormatEtc y sus funciones del mismo nivel, OleRegGetUserType, OleRegGetMiscStatus y OleRegEnumVerbs, proporcionan una manera para que los desarrolladores de aplicaciones de objetos DLL personalizadas emulen el comportamiento del controlador de objetos predeterminado de OLE para obtener información sobre los objetos del Registro. Al usar estas funciones, se evita el trabajo considerable de escritura propio y las dificultades inherentes a trabajar directamente en el registro. Además, obtendrá futuras mejoras y optimizaciones de estas funciones sin tener que codificarlas usted mismo.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | ole2.h |
Library | Ole32.lib |
Archivo DLL | Ole32.dll |