Retrieves the ProgID for a given CLSID.


//The CLSID for which the ProgID is requested
LPOLESTR * lplpszProgID
//Receives a pointer to the requested ProgID on return



Specifies the CLSID for which the ProgID is requested.


Receives a pointer to the requested ProgID on return.

Return Values


Indicates the ProgID was returned successfully.


Indicates class not registered in the registry.


Indicates error reading registry.


Every OLE 2 object class listed in the Insert Object dialog box must have a programmatic identifier (ProgID), a string that uniquely identifies a given class. In addition to determining the eligibility for the Insert Object dialog box, the ProgID can be used as an identifier in a macro programming language to identify a class. Finally, the ProgID is also the class name used for an OLE 2 class when placed in an OLE 1 container.

The ProgIDFromCLSID function uses entries in the registry to do the conversion. OLE 2 application authors are responsible for correctly configuring the registry at application installation time.

The ProgID string must be different than the class name of any OLE 1 application, including the OLE 1 version of the same application, if there is one. In addition, a ProgID string must not contain more than 39 characters or start with a digit. Except for a single period, it cannot contain any punctuation (including underscores).

The ProgID must never be shown to the user in the user interface. If you need a short human-readable string for an object, call IOleObject::GetUserType.

The CLSIDFromProgID function can be called to create a CLSID from a given ProgID. CLSIDs can be freed with the task allocator (refer to the CoGetMalloc function).

See Also


Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database