CoGetTreatAsClass 函数 (combaseapi.h)
返回可以模拟指定对象的对象的 CLSID。
语法
HRESULT CoGetTreatAsClass(
[in] REFCLSID clsidOld,
[out] LPCLSID pClsidNew
);
参数
[in] clsidOld
可以模拟的 对象的 CLSID (被视为具有不同 CLSID 的对象) 。
[out] pClsidNew
指向可模拟 clsidOld 对象的 CLSID 的指针。 此参数不能为 NULL。 如果没有 clsidOld 对象的仿真信息,则会提供 clsidOld 参数。
返回值
此函数可以返回以下值,以及 CLSIDFromString 函数返回的任何错误值。
返回代码 | 说明 |
---|---|
|
已成功返回新的 CLSID。 |
|
没有 clsidOld 参数的仿真信息,因此 pClsidNew 参数设置为 clsidOld。 |
|
读取注册表时出错。 |
注解
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 |