Поделиться через


Функция OleRegEnumVerbs (ole2.h)

Предоставляет перечисление зарегистрированных глаголов для указанного класса. Разработчики пользовательских приложений объектов DLL используют эту функцию для эмуляции поведения обработчика объектов по умолчанию.

Синтаксис

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

Параметры

[in] clsid

Идентификатор класса, глаголы которого запрашиваются.

[out] ppenum

Адрес переменной указателя IEnumOLEVERB*, которая получает указатель интерфейса на новый объект перечисления.

Возвращаемое значение

Эта функция возвращает S_OK об успешном выполнении. Ниже перечислены другие возможные значения.

Код возврата Описание
OLEOBJ_E_NOVERBS
Для класса не регистрируются команды.
REGDB_E_CLASSNOTREG
ClSID не зарегистрирован для объекта класса.
REGDB_E_READREGDB
Произошла ошибка при чтении реестра.
OLE_E_REGDB_KEY
В реестре отсутствует раздел DataFormats/GetSet.

Комментарии

Объектные приложения могут запрашивать у OLE создание объекта перечисления для структур OLEVERB для перечисления поддерживаемых команд одним из двух способов. Один из способов — вызвать OleRegEnumVerbs. Другой способ — вернуть OLE_S_USEREG в ответ на вызовы обработчика объектов по умолчанию в IOleObject::EnumVerbs. OLE_S_USEREG указывает обработчику по умолчанию вызвать OleRegEnumVerbs. Поскольку приложения объектов DLL не могут возвращать OLE_S_USEREG, они должны вызывать OleRegEnumVerbs , а не делегировать задание обработчику объектов. С помощью предоставленного указателя IEnumOLEVERB на объект можно вызвать стандартные методы объекта перечисления для выполнения перечисления.

Функция OleRegEnumVerbs и ее одноуровневые функции OleRegGetUserType, OleRegGetMiscStatus и OleRegEnumFormatEtc позволяют разработчикам пользовательских приложений объектов DLL эмулировать поведение обработчика объектов OLE по умолчанию при получении сведений об объектах из реестра. Используя эти функции, вы избегаете значительных усилий по написанию собственных и ловушек, присущих работе непосредственно в реестре. Кроме того, вы получаете будущие усовершенствования и оптимизации этих функций без необходимости написания кода самостоятельно.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header ole2.h
Библиотека Ole32.lib
DLL Ole32.dll
Набор API ext-ms-win-com-ole32-l1-1-3 (представлен в Windows 10 версии 10.0.10240)

См. также раздел

IEnumOLEVERB

IOleObject::EnumVerbs