OleRegGetMiscStatus 函数 (ole2.h)

从注册表返回有关指定 CLSID 支持的表示形式和行为的其他信息。

自定义 DLL 对象应用程序的开发人员使用此函数来模拟 OLE 默认处理程序的行为。

语法

HRESULT OleRegGetMiscStatus(
  [in]  REFCLSID clsid,
  [in]  DWORD    dwAspect,
  [out] DWORD    *pdwStatus
);

parameters

[in] clsid

要为其请求状态信息的 类的 CLSID。

[in] dwAspect

为其请求信息的类的表示方面。 可能的值取自 DVASPECT 枚举。

[out] pdwStatus

指向接收状态信息的变量的指针。

返回值

此函数可以返回E_OUTOFMEMORY的标准返回值,以及以下值。

返回代码 说明
S_OK
已成功返回状态信息。
REGDB_E_CLASSNOTREG
没有为类对象注册任何 CLSID。
REGDB_E_READREGDB
从注册表读取时出错。
OLE_E_REGDB_KEY
注册表中缺少 GetMiscStatus 项。

注解

对象应用程序可以通过两种方式之一要求 OLE 获取其他状态信息。 一种方法是调用 OleRegGetMiscStatus。 另一种是返回OLE_S_USEREG,以响应默认对象处理程序对 IOleObject::GetMiscStatus 的调用。 OLE_S_USEREG指示默认处理程序调用 OleRegGetMiscStatus。 由于 DLL 对象应用程序无法返回OLE_S_USEREG,因此它们必须调用 OleRegGetMiscStatus ,而不是将作业委托给对象处理程序。

OleRegGetMiscStatus 及其同级函数 OleRegGetUserTypeOleRegEnumFormatEtcOleRegEnumVerbs 为自定义 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::GetMiscStatus

OleRegEnumFormatEtc

OleRegEnumVerbs

OleRegGetUserType