# CLSIDFromProgID

Looks up a CLSID in the registry, given a ProgID.

HRESULT CLSIDFromProgID(

LPCOLESTR lpszProgID, | //Pointer to the ProgID
LPCLSID pclsid | //Pointer to the CLSID
); |

Parameters

lpszProgID
  [in] Pointer to the ProgID whose CLSID is requested.
pclsid
  [out] Pointer to the retrieved CLSID on return.

Return Values

S_OK
  The CLSID was retrieved successfully.
CO_E_CLASSSTRING
  The registered CLSID for the ProgID is invalid.
REGDB_E_WRITEREGDB
  An error occurred writing the CLSID to the registry. See “Remarks” below.

Remarks

Given a ProgID, CLSIDFromProgID looks up its associated CLSID in the registry. If the ProgID cannot be found in the registry, CLSIDFromProgID creates an OLE 1 CLSID for the ProgID and a CLSID entry in the registry. Because of the restrictions placed on OLE 1 CLSID values, CLSIDFromProgID and CLSIDFromString are the only two functions that can be used to generate a CLSID for an OLE 1 object.

See Also

ProgIDFromCLSID