Функция 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, а также следующие значения.
Код возврата | Описание |
---|---|
|
Значение было успешно возвращено с помощью параметра pclsidNew . |
|
CLSID не зарегистрирован в реестре должным образом. |
|
Ошибка при чтении из реестра. |
|
Автоматическое преобразование не активна или отсутствует запись реестра для параметра 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) |