Internet-Aware Objects
There are certain categories identified to cover the persistency interfaces; these have been identified as a result of defining how controls function across the Internet. A container that does not support the full range of persistency interfaces should ensure that it does not host a control that requires a combination of interfaces that it does not support.
The following tables describe the meaning for various categories as both implemented and required categories.
Required Categories | Description |
---|---|
CATID_PersistsToMoniker, CATID_PersistsToStreamInit, CATID_PersisitsToStream, CATID_PersistsToStorage, CATID_PersistsToMemory, CATID_PersistsToFile, CATID_PersistsToPropertyBag |
Each of these categories is mutually exclusive and only used when an object supports only one persistence mechanism at all (hence the mutual exclusion). Containers that do not support the persistence mechanism described by one of these categories should prevent themselves from creating any objects of classes so marked. |
CATID_RequiresDataPathHost |
The object requires the ability to save data to one or more paths and requires container involvement, therefore requiring container support for IBindHost. |
Implemented Categories | Description |
---|---|
CATID_PersistsToMoniker, CATID_PersistsToStreamInit, CATID_PersistsToStream, CATID_PersistsToStorage, CATID_PersistsToMemory, CATID_PersistsToFile, CATID_PersistsToPropertyBag |
Object supports the corresponding IPersist* mechanism for the category. |
The following table provides the exact CATIDs assigned to each category:
Category | CATID |
---|---|
CATID_RequiresDataPathHost |
0de86a50-2baa-11cf-a229-00aa003d7352 |
CATID_PersistsToMoniker |
0de86a51-2baa-11cf-a229-00aa003d7352 |
CATID_PersistsToStorage |
0de86a52-2baa-11cf-a229-00aa003d7352 |
CATID_PersistsToStreamInit |
0de86a53-2baa-11cf-a229-00aa003d7352 |
CATID_PersistsToStream |
0de86a54-2baa-11cf-a229-00aa003d7352 |
CATID_PersistsToMemory |
0de86a55-2baa-11cf-a229-00aa003d7352 |
CATID_PersistsToFile |
0de86a56-2baa-11cf-a229-00aa003d7352 |
CATID_PersistsToPropertyBag |
0de86a57-2baa-11cf-a229-00aa003d7352 |