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


Функция CoGetTreatAsClass (combaseapi.h)

Возвращает ИДЕНТИФИКАТОР CLSID объекта, который может эмулировать указанный объект.

Синтаксис

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

Параметры

[in] clsidOld

ИДЕНТИФИКАТОР CLSID объекта, который можно эмулировать (обрабатывать как) объект с другим ИДЕНТИФИКАТОРом CLSID.

[out] pClsidNew

Указатель на то, где извлекается идентификатор CLSID, который может эмулировать объекты clsidOld . Этот параметр не может иметь значение NULL. Если сведения об эмуляции для объектов clsidOld отсутствуют, предоставляется параметр clsidOld .

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

Эта функция может возвращать следующие значения, а также любые значения ошибок, возвращаемые функцией CLSIDFromString .

Код возврата Описание
S_OK
Новый идентификатор CLSID успешно возвращен.
S_FALSE
Сведения об эмуляции для параметра clsidOld отсутствуют, поэтому для параметра pClsidNew задано значение clsidOld.
REGDB_E_READREGDB
Произошла ошибка при чтении реестра.

Комментарии

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

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header combaseapi.h (включая Objbase.h)
Библиотека Ole32.lib
DLL Ole32.dll

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

CoTreatAsClass