Функция ProgIDFromCLSID (combaseapi.h)
Извлекает идентификатор ProgID для заданного идентификатора CLSID.
Синтаксис
HRESULT ProgIDFromCLSID(
[in] REFCLSID clsid,
[out] LPOLESTR *lplpszProgID
);
Параметры
[in] clsid
ИДЕНТИФИКАТОР CLSID, для которого требуется запросить ProgID.
[out] lplpszProgID
Адрес переменной указателя, получающей строку ProgID. Строка, представляющая clsid , включает в себя вложенные фигурные скобки.
Возвращаемое значение
Эта функция может возвращать следующие значения.
Код возврата | Описание |
---|---|
|
Идентификатор ProgID был успешно возвращен. |
|
Класс не зарегистрирован в реестре. |
|
Произошла ошибка при чтении из реестра. |
Комментарии
Каждый класс объектов 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 |