CoGetTreatAsClass 函数 (combaseapi.h)

返回可以模拟指定对象的对象的 CLSID。

语法

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

参数

[in] clsidOld

可以模拟的 对象的 CLSID (被视为具有不同 CLSID 的对象) 。

[out] pClsidNew

指向可模拟 clsidOld 对象的 CLSID 的指针。 此参数不能为 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
标头 combaseapi.h (包括 Objbase.h)
Library Ole32.lib
DLL Ole32.dll

另请参阅

CoTreatAsClass