OleRegGetMiscStatus function (ole2.h)

Returns miscellaneous information about the presentation and behaviors supported by the specified CLSID from the registry.

This function is used by developers of custom DLL object applications to emulate the behavior of the OLE default handler.

Syntax

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

Parameters

[in] clsid

The CLSID of the class for which status information is to be requested.

[in] dwAspect

The presentation aspect of the class for which information is requested. Possible values are taken from the DVASPECT enumeration.

[out] pdwStatus

A pointer to the variable that receives the status information.

Return value

This function can return the standard return value E_OUTOFMEMORY, as well as the following values.

Return code Description
S_OK
The status information was returned successfully.
REGDB_E_CLASSNOTREG
No CLSID is registered for the class object.
REGDB_E_READREGDB
There was an error reading from the registry.
OLE_E_REGDB_KEY
The GetMiscStatus key is missing from the registry.

Remarks

Object applications can ask OLE to get miscellaneous status information in one of two ways. One way is to call OleRegGetMiscStatus. The other is to return OLE_S_USEREG in response to calls by the default object handler to IOleObject::GetMiscStatus. OLE_S_USEREG instructs the default handler to call OleRegGetMiscStatus. Because DLL object applications cannot return OLE_S_USEREG, they must call OleRegGetMiscStatus rather than delegating the job to the object handler.

OleRegGetMiscStatus and its sibling functions, OleRegGetUserType, OleRegEnumFormatEtc, and OleRegEnumVerbs, provide a way for developers of custom DLL object applications to emulate the behavior of OLE's default object handler in getting information about objects from the registry. By using these functions, you avoid the considerable work of writing your own, and the pitfalls inherent in working directly in the registry. In addition, you get future enhancements and optimizations of these functions without having to code them yourself.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header ole2.h
Library Ole32.lib
DLL Ole32.dll
API set ext-ms-win-com-ole32-l1-1-3 (introduced in Windows 10, version 10.0.10240)

See also

IOleObject::GetMiscStatus

OleRegEnumFormatEtc

OleRegEnumVerbs

OleRegGetUserType