
In all the various features defined in this document, there are various useful categories for describing what a object requires from its container as well as what features an object supports, which is useful in a container's browsing UI. The following tables describe the meaning for various categories as both "implemented" and "required" categories:
| "Required" Categories | Description |
| CATID_PersistsToMoniker, CATID_PersistsToStreamInit, CATID_PersistsToStream, CATID_PersistsToStorage, CATID_PersistsToMemory, CATID_PersistsToFile, CATID_PersistsToPropertyBag | Each of these categories are mutually exclusive and are 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 an object 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*mmechanism for the category. |
| CATID_InternetAware | The object is "Internet-aware" meaning that the object needs no special behavior to work well in the Internet environment, or the object uses large data sets but is written to retrieve that data asynchronously. In addition, all "Internet-aware" objects are marked with OLEMISC_SETCLIENTSITEFIRST. This category is defined to aid authoring tools differentiate between objects that may or may not understand the special implications of the Internet. |
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 |
| CATID_InternetAware | 0de86a58-2baa-11cf-a229-00aa003d7352 |
For more information on categories, see the Component Categories document.
© 1997 Microsoft Corporation. All rights reserved. Terms of Use.