Compartir a través de


Función OleSetAutoConvert (ole2.h)

Especifica un CLSID para la conversión automática a otra clase cuando se carga un objeto de esa clase.

Sintaxis

HRESULT OleSetAutoConvert(
  [in] REFCLSID clsidOld,
  [in] REFCLSID clsidNew
);

Parámetros

[in] clsidOld

CLSID de la clase de objeto que se va a convertir.

[in] clsidNew

CLSID de la clase de objeto que debe reemplazar clsidOld. Este nuevo CLSID reemplaza cualquier información de conversión automática existente en el Registro para clsidOld. Si este valor es CLSID_NULL, cualquier información de conversión automática existente para clsidOld se quita del registro.

Valor devuelto

Esta función puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY y E_UNEXPECTED, así como los siguientes valores.

Código devuelto Descripción
S_OK
El objeto se etiquetó correctamente.
REGDB_E_CLASSNOTREG
El CLSID no está registrado correctamente en el registro.
REGDB_E_READREGDB
Error al leer desde el Registro.
REGDB_E_WRITEREGDB
Error al escribir en el registro.
REGDB_E_KEYMISSING
No se puede leer una clave del Registro.

Comentarios

OleSetAutoConvert va al registro del sistema, busca la subclave AutoConvertTo en el CLSID especificado por clsidOld y lo establece en clsidNew. Esta función no valida si existe actualmente una entrada del Registro adecuada para clsidNew . Estas entradas aparecen en el Registro como subclaves de la clave CLSID.

La conversión de objetos significa que los datos del objeto están asociados permanentemente a un nuevo CLSID. Normalmente, la conversión automática se especifica en el programa de instalación de una nueva versión de una aplicación de objeto, por lo que los objetos creados por sus versiones anteriores se pueden actualizar automáticamente a la nueva versión.

Por ejemplo, puede ser necesario convertir hojas de cálculo creadas con versiones anteriores de una aplicación de hoja de cálculo a la nueva versión. Los objetos de hoja de cálculo de versiones anteriores tienen CLSID diferentes que la nueva versión. Para cada versión anterior que desee actualizar automáticamente, llamaría a OleSetAutoConvert en el programa de instalación, especificando el CLSID de la versión anterior y el del nuevo. A continuación, siempre que un usuario cargue un objeto de una versión anterior, se actualizaría automáticamente. Para admitir la conversión automática de objetos, un servidor que admita la conversión debe estar preparado para convertir manualmente objetos que tengan el formato de una versión anterior del servidor. La conversión automática se basa internamente en esta compatibilidad con la conversión manual.

Antes de establecer el valor de AutoConvertTo deseado, los programas de instalación también deben llamar a OleSetAutoConvert para quitar cualquier conversión existente para la nueva clase, especificando la nueva clase como el parámetro clsidOld y estableciendo el parámetro clsidNew en CLSID_NULL.

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

Consulte también

AutoConvertto

OleDoAutoConvert

OleGetAutoConvert