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

Возвращает тип пользователя указанного класса из реестра.

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

Синтаксис

HRESULT OleRegGetUserType(
  [in]  REFCLSID clsid,
  [in]  DWORD    dwFormOfType,
  [out] LPOLESTR *pszUserType
);

Параметры

[in] clsid

CLSID класса, для которого требуется запросить тип пользователя.

[in] dwFormOfType

Форма пользовательской строки. Возможные значения взяты из перечисления USERCLASSTYPE.

[out] pszUserType

Указатель на строку, которая получает тип пользователя.

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

Эта функция может возвращать стандартное возвращаемое значение E_OUTOFMEMORY, а также следующие значения.

Код возврата Описание
S_OK
Тип пользователя был успешно возвращен.
REGDB_E_CLASSNOTREG
ClSID не зарегистрирован для объекта класса.
REGDB_E_READREGDB
Произошла ошибка при чтении из реестра.
OLE_E_REGDB_KEY
В реестре отсутствуют ключи ProgID = MainUserTypeName и CLSID = MainUserTypeName .

Комментарии

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

Функция OleRegGetUserType и ее одноуровневые функции OleRegGetMiscStatus, OleRegEnumFormatEtc и OleRegEnumVerbs предоставляют разработчикам пользовательских приложений объектов 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)

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

IOleObject::GetUserType

OleRegEnumFormatEtc

OleRegEnumVerbs

OleRegGetMiscStatus