Поделиться через


Функция OleGetAutoConvert (ole2.h)

Определяет, настроен ли реестр для объектов указанного идентификатора CLSID для автоматического преобразования в другой ИДЕНТИФИКАТОР CLSID, и, если да, получает новый ИДЕНТИФИКАТОР CLSID.

Синтаксис

HRESULT OleGetAutoConvert(
  [in]  REFCLSID clsidOld,
  [out] LPCLSID  pClsidNew
);

Параметры

[in] clsidOld

ИДЕНТИФИКАТОР CLSID для объекта .

[out] pClsidNew

Указатель на переменную для получения нового идентификатора CLSID, если таковой имеется. Если автоматическое преобразование для clsidOld не задано в реестре, возвращается clsidOld . Параметр pClsidNew никогда не имеет значение NULL.

Возвращаемое значение

Эта функция может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY и E_UNEXPECTED, а также следующие значения.

Код возврата Описание
S_OK
Значение было успешно возвращено с помощью параметра pclsidNew .
REGDB_E_CLASSNOTREG
CLSID не зарегистрирован в реестре должным образом.
REGDB_E_READREGDB
Ошибка при чтении из реестра.
REGDB_E_KEYMISSING
Автоматическое преобразование не активна или отсутствует запись реестра для параметра clsidOld .

Комментарии

OleGetAutoConvert возвращает запись AutoConvertTo в реестре для указанного объекта. Подраздел AutoConvertTo указывает, следует ли автоматически преобразовывать объекты заданного идентификатора CLSID в новый ИДЕНТИФИКАТОР CLSID. Обычно используется для преобразования файлов, созданных более старыми версиями приложения, в текущую версию. Если запись AutoConvertTo отсутствует, эта функция возвращает значение clsidOld.

Функция OleDoAutoConvert вызывает OleGetAutoConvert , чтобы определить, следует ли преобразовать указанный объект. Контейнерное приложение, поддерживающее преобразование объектов, должно вызывать OleDoAutoConvert при каждой загрузке объекта. Если контейнер использует вспомогательную функцию OleLoad , ему не нужно вызывать OleDoAutoConvert явным образом, так как OleLoad вызывает ее внутренне.

Чтобы настроить автоматическое преобразование заданного класса, можно вызвать функцию OleSetAutoConvert (обычно в программе установки приложения). Эта функция использует подраздел AutoConvertTo для добавления тегов к классу объектов для автоматического преобразования в другой класс объектов. Это подраздел ключа CLSID.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ole2.h
Библиотека Ole32.lib
DLL Ole32.dll
Набор API ext-ms-win-com-ole32-l1-1-0 (появилось в Windows 8)

См. также раздел

AutoConvertTo

OleDoAutoConvert

OleSetAutoConvert