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 |
---|---|
|
El objeto se etiquetó correctamente. |
|
El CLSID no está registrado correctamente en el registro. |
|
Error al leer desde el Registro. |
|
Error al escribir en el registro. |
|
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 |