ProgIDFromCLSID  4K2JR

Retrieves the ProgID for a given CLSID.

WINOLEAPI ProgIDFromCLSID(

    REFCLSID clsid,

//CLSID for which the ProgID is requested

    LPOLESTR * lplpszProgID

//Indirect pointer to the requested ProgID on return

   );

 

 

Parameters

clsid

[in] Specifies the CLSID for which the ProgID is requested.

lplpszProgID

[out] Indirect pointer to the requested ProgID.

 

Return Values

S_OK

The ProgID was returned successfully.

REGDB_E_CLASSNOTREG

Class not registered in the registry.

REGDB_E_READREGDB

Error reading registry.

 

Remarks

Every OLE object class listed in the Insert Object dialog box must have a programmatic identifier (ProgID), a string that uniquely identifies a given class, stored in the registry. 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 object of an OLE class that is placed in an OLE 1 container.

The ProgIDFromCLSID function uses entries in the registry to do the conversion. OLE application authors are responsible for ensuring that the registry is configured correctly in the application s setup program.

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, start with a digit, or, except for a single period, contain any punctuation (including underscores).

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

Call the CLSIDFromProgID28Q7N_ function to find the CLSID associated with a given ProgID. CLSIDs can be freed with the task allocator (refer to the CoGetMalloc1012PPO function).

See Also

CLSIDFromProgID