OleRegEnumVerbs function (ole2.h)

Supplies an enumeration of the registered verbs for the specified class. Developers of custom DLL object applications use this function to emulate the behavior of the default object handler.

Syntax

HRESULT OleRegEnumVerbs(
  [in]  REFCLSID      clsid,
  [out] LPENUMOLEVERB *ppenum
);

Parameters

[in] clsid

Class identifier whose verbs are being requested.

[out] ppenum

Address of IEnumOLEVERB* pointer variable that receives the interface pointer to the new enumeration object.

Return value

This function returns S_OK on success. Other possible values include the following.

Return code Description
OLEOBJ_E_NOVERBS
No verbs are registered for the class.
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 DataFormats/GetSet key is missing from the registry.

Remarks

Object applications can ask OLE to create an enumeration object for OLEVERB structures to enumerate supported verbs in one of two ways. One way is to call OleRegEnumVerbs. The other way is to return OLE_S_USEREG in response to calls by the default object handler to IOleObject::EnumVerbs. OLE_S_USEREG instructs the default handler to call OleRegEnumVerbs. Because DLL object applications cannot return OLE_S_USEREG, they must call OleRegEnumVerbs rather than delegating the job to the object handler. With the supplied IEnumOLEVERB pointer to the object, you can call the standard enumeration object methods to do the enumeration.

The OleRegEnumVerbs function and its sibling functions, OleRegGetUserType, OleRegGetMiscStatus, and OleRegEnumFormatEtc, 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

IEnumOLEVERB

IOleObject::EnumVerbs