Share via


ProgIDFromCLSID

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

This function retrieves the ProgID for a given CLSID.

Syntax

WINOLEAPI ProgIDFromCLSID(
  REFCLSID clsid,
  LPOLESTR* lplpszProgID 
);

Parameters

  • clsid
    [in] Specifies the CLSID for which the ProgID is requested.
  • lplpszProgID
    [out] Address of LPOLESTR pointer variable that receives a pointer to the ProgID string.

Return Value

  • 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::GetUserType.

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

To determine whether the platform supports this function, see Determining Supported COM APIs.

Requirements

Header objbase.h
Library ole32.lib
Windows Embedded CE Windows CE 3.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

COM Functions
CLSIDFromProgID