OleRegGetUserType 函数 (ole2.h)
从注册表中获取指定类的用户类型。
自定义 DLL 对象应用程序的开发人员使用此函数来模拟 OLE 默认处理程序的行为。
语法
HRESULT OleRegGetUserType(
[in] REFCLSID clsid,
[in] DWORD dwFormOfType,
[out] LPOLESTR *pszUserType
);
参数
[in] clsid
要为其请求用户类型的类的 CLSID。
[in] dwFormOfType
用户可呈现的字符串的形式。 可能的值取自枚举 USERCLASSTYPE。
[out] pszUserType
指向接收用户类型的字符串的指针。
返回值
此函数可以返回E_OUTOFMEMORY的标准返回值,以及以下值。
返回代码 | 说明 |
---|---|
|
已成功返回用户类型。 |
|
没有为类对象注册任何 CLSID。 |
|
从注册表读取时出错。 |
|
注册表中缺少 ProgID = MainUserTypeName 和 CLSID = MainUserTypeName 项。 |
注解
对象应用程序可以通过两种方式之一要求 OLE 获取指定类的用户类型名称。 一种方法是调用 OleRegGetUserType。 另一种是返回OLE_S_USEREG,以响应默认对象处理程序对 IOleObject::GetUserType 的调用。 OLE_S_USEREG指示默认处理程序调用 OleRegGetUserType。 由于 DLL 对象应用程序无法返回OLE_S_USEREG,因此它们必须调用 OleRegGetUserType,而不是将作业委托给对象处理程序。
OleRegGetUserType 函数及其同级函数 OleRegGetMiscStatus、OleRegEnumFormatEtc 和 OleRegEnumVerbs 为自定义 DLL 对象应用程序的开发人员提供了一种模拟 OLE 的默认对象处理程序从注册表获取对象相关信息的行为的方法。 通过使用这些函数,可以避免编写自己的大量工作,以及直接在注册表中工作所固有的缺陷。 此外,你将获得这些函数的未来增强和优化,而无需自行编写代码。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | ole2.h |
Library | Ole32.lib |
DLL | Ole32.dll |
API 集 | Windows 10版本 10.0.10240 中引入的 ext-ms-win-com-ole32-l1-1-3 () |