While most APIs automatically provide support for the class store, there are exceptions. All activation APIs automatically access the class store, while informational APIs do not. These APIs do not use the class store for backwards compatibility. The following table describes both categories of APIs:
Automatically Supports Class Store | Not Accessing Class Store |
---|---|
BindMoniker | CLSIDFromProgID (Use CLSIDFromProgIDEx as a helper API to access class store.) |
CoCreateInstance | CoGetTreatAsClass |
CoCreateInstanceEx | ColsOle1Class |
CoGetClassInfo | CoTreatAsClass |
CoGetClassObject | OleGetAutoConvert |
CoGetInstanceFromFile | OleGetIconOfClass |
CoGetInstanceFromIStorage | OleGetIconOfFile |
CoGetInterfaceAndReleaseStream | OleRegEnumFormatEtc |
CoGetMarshalSizeMax | OleRegEnumVerbs |
CoGetObject | OleRegGetMiscStatus |
CoGetPublishedAppInfo | OleRegGetUserType |
CoGetStandardMarshal | OleSetAutoConvert |
CoInstall | ProgIDFromCLSID (Use ProgIDFromCLSIDEx as a helper API to access class store.) |
CoMarshalInterThreadInterfaceInStream | ProgIDFromCLSIDEx |
CoMarshalInterface | COMCAT (Use CLSID_GblComponentCategoriesMgr as a helper API to access class store.) |
CoUnmarshalInterface | |
OleCreate | |
OleCreateEx | |
OleCreateFromData | |
OleCreateFromDataEx | |
OleCreateFromFile | |
OleCreateFromFileEx | |
OleCreateLink | |
OleCreateLinkEx | |
OleCreateLinkFromData | |
OleCreateLinkFromDataEx | |
OleCreateLinkToFile | |
OleCreateLinkToFileEx | |
OleLoad | |
OleLoadFromStream | |
OleRun |