Click to return to the Component Development home page    
Communicating Control &qu...     Added Standard Properties...     COM Objects for the Inter...    
Web Workshop  |  Component Development

Component Categories for Describing Internet-Aware Objects


In all the different features defined in this article, there are various useful categories for describing what an 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 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 category is mutually exclusive and is used only when an object supports but one persistence mechanism at all (thus 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* mechanism 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 help authoring tools differentiate between objects that might or might 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.



Back to topBack to top

Did you find this topic useful? Suggestions for other topics? Write us!

© 1999 Microsoft Corporation. All rights reserved. Terms of use.