WinApi функция CLSIDFromProgID
Описание:
function CLSIDFromProgID(pszProgID: POleStr; out clsid: TCLSID): HResult;
Ищет CLSID соответствующую ProgID в реестре.
Параметры:
pszProgID: Строка содержащая ProgID.
clsid: Получает CLSID.
Возвращаемые значения
S_OK - CLSID был создан успешно.
CO_E_CLASSSTRING - CLSID зарегестрированный для ProgID неверен.
REGDB_E_WRITEREGDB - ошибка записи в реестр.
E_OUTOFMEMORY - нет памяти.
E_INVALIDARG - Указывает что один или более аргументов неверны. (стоит проверить правильность строки psz)
E_UNEXPECTED - неизвестная ошибка.
Замечание:
Данный ProgID, CLSIDFromProgID ищет связанный с CLSID в реестре. Если ProgID не обнаружился, CLSIDFromProgID создает OLE 1 CLSID .Из-за ограничений установленных в OLE 1 CLSID, CLSIDFromProgID и CLSIDFromString - единственные две функции которые могут сгенерировать CLSID для объекта OLE 1.
Материал взят из:
Русская спpавка по Windows API