Export (0) Print
Expand All
COM
Expand Minimize

ProgIDFromCLSID function

Retrieves the ProgID for a given CLSID.

Syntax


HRESULT ProgIDFromCLSID(
  _In_   REFCLSID clsid,
  _Out_  LPOLESTR *lplpszProgID
);

Parameters

clsid [in]

The CLSID for which the ProgID is to be requested.

lplpszProgID [out]

The address of a pointer variable that receives the ProgID string. The string that represents clsid includes enclosing braces.

Return value

This function can return the following values.

Return codeDescription
S_OK

The ProgID was returned successfully.

REGDB_E_CLASSNOTREG

Class not registered in the registry.

REGDB_E_READREGDB

There was an error reading from the 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.

ProgIDFromCLSID 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. Be sure to free the returned ProgID when you are finished with it by calling the CoTaskMemFree function.

Requirements

Minimum supported client

Windows 2000 Professional [desktop apps only]

Minimum supported server

Windows 2000 Server [desktop apps only]

Header

Objbase.h

Library

Ole32.lib

DLL

Ole32.dll

See also

CLSIDFromProgID

 

 

Community Additions

ADD
Show:
© 2014 Microsoft