# OleRegGetMiscStatus

Gets miscellaneous information about the presentation and behaviors supported by the specified CLSID from the registry. Used by developers of custom DLL object applications to emulate the behavior of the OLE default handler.

WINOLEAPI OleRegGetMiscStatus(

REFCLSID clsid, | //Class identifier
DWORD dwAspect, | //Value specifying aspect of requested class
DWORD * pdwStatus | //Pointer to returned status information
); |

Parameters

clsid
  [in] CLSID of the class for which status information is requested.
dwAspect
  [in] DWORD specifying the presentation aspect of the class for which information is requested. Values are taken from the DVASPECT enumeration.
pdwStatus
  [out] Pointer to the location of the status information on the function’s return.

Return Values

This function supports the standard return value E_OUTOFMEMORY, as well as the following:

S_OK
  The status information was returned successfully.
REGDB_E_CLASSNOTREG
  No CLSID is registered for the class object.
REGDB_E_READREGDB
  An error occurred reading 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.

See Also

DVASPECT, FORMATETC, OLEMISC, IOleObject::GetMiscStatus, OleRegEnumFormatEtc, OleRegEnumVerbs, OleRegGetUserType