# 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. Details of the features required for internet aware controls are available in the ActiveX SDK.

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 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 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