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的标准返回值,以及以下值。

返回代码 说明
S_OK
已成功返回用户类型。
REGDB_E_CLASSNOTREG
没有为类对象注册任何 CLSID。
REGDB_E_READREGDB
从注册表读取时出错。
OLE_E_REGDB_KEY
注册表中缺少 ProgID = MainUserTypeNameCLSID = MainUserTypeName 项。

注解

对象应用程序可以通过两种方式之一要求 OLE 获取指定类的用户类型名称。 一种方法是调用 OleRegGetUserType。 另一种是返回OLE_S_USEREG,以响应默认对象处理程序对 IOleObject::GetUserType 的调用。 OLE_S_USEREG指示默认处理程序调用 OleRegGetUserType。 由于 DLL 对象应用程序无法返回OLE_S_USEREG,因此它们必须调用 OleRegGetUserType,而不是将作业委托给对象处理程序。

OleRegGetUserType 函数及其同级函数 OleRegGetMiscStatusOleRegEnumFormatEtcOleRegEnumVerbs 为自定义 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 ()

另请参阅

IOleObject::GetUserType

OleRegEnumFormatEtc

OleRegEnumVerbs

OleRegGetMiscStatus