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


Функция ProgIDFromCLSID (combaseapi.h)

Извлекает идентификатор ProgID для заданного идентификатора CLSID.

Синтаксис

HRESULT ProgIDFromCLSID(
  [in]  REFCLSID clsid,
  [out] LPOLESTR *lplpszProgID
);

Параметры

[in] clsid

ИДЕНТИФИКАТОР CLSID, для которого требуется запросить ProgID.

[out] lplpszProgID

Адрес переменной указателя, получающей строку ProgID. Строка, представляющая clsid , включает в себя вложенные фигурные скобки.

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

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

Код возврата Описание
S_OK
Идентификатор ProgID был успешно возвращен.
REGDB_E_CLASSNOTREG
Класс не зарегистрирован в реестре.
REGDB_E_READREGDB
Произошла ошибка при чтении из реестра.

Комментарии

Каждый класс объектов OLE, указанный в диалоговом окне Вставка объекта , должен иметь программный идентификатор (ProgID), строку, которая уникально идентифицирует данный класс, хранящуюся в реестре. Помимо определения допустимости диалогового окна Вставка объекта , ProgID можно использовать в качестве идентификатора на языке макрокоманды для идентификации класса. Наконец, ProgID — это также имя класса, используемое для объекта класса OLE, помещенного в контейнер OLE 1.

ProgIDFromCLSID использует записи в реестре для преобразования. Авторы приложений OLE отвечают за правильную настройку реестра в программе установки приложения.

Строка ProgID должна отличаться от имени класса любого приложения OLE 1, включая версию OLE 1 того же приложения, если она есть. Кроме того, строка ProgID не должна содержать более 39 символов, начинаться с цифры или, за исключением одной точки, содержать знаки препинания (включая символы подчеркивания).

Идентификатор ProgID никогда не должен отображаться пользователю в пользовательском интерфейсе. Если требуется короткая отображаемая строка для объекта, вызовите IOleObject::GetUserType.

Вызовите функцию CLSIDFromProgID , чтобы найти идентификатор CLSID, связанный с данным Идентификатором ProgID. Не забудьте освободить возвращенный Идентификатор ProgID после завершения работы с ним, вызвав функцию CoTaskMemFree .

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Целевая платформа Windows
Header combaseapi.h (включая Objbase.h)
Библиотека Ole32.lib
DLL Ole32.dll

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

CLSIDFromProgID