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 |
标头 | ole2.h |
Library | Ole32.lib |
DLL | Ole32.dll |
API 集 | 在 Windows 8) 中引入的 ext-ms-win-com-ole32-l1-1-0 ( |