Geoff Chappell - Software Analyst
MSHTML Classes: CDoc
The CDoc class is the shared internal
representation of the HTADoc,
HTMLDocument,
HTMLPluginDocument, HTMLPopupDoc
and MHTMLDocument classes.
Interfaces
The CDoc class implements some interfaces
directly:
-
DataSource
- ICustomDoc
- IDataObject
- IDisplayServices
- IHighlightRenderingServices
- IHlinkTarget
- IIMEServices
- IMarkupServices2 and its base
IMarkupServices
-
IMarqueeInfo
- IMonikerProp
- IObjectIdentity
- IObjectSafety
- IObjectWithSite
- IOleCache2 and its base
IOleCache
- IOleCommandTarget
- IOleControl
- IOleDocument
- IOleDocumentView
- IOleInPlaceObjectWindowless and its bases
IOleInPlaceObject and
IOleWindow
- IOleInPlaceActiveObject
- IOleObject
- IPerPropertyBrowsing
- IPersistFile and its base
IPersist
- IPersistHistory
- IPersistMoniker
- IPersistStreamInit
- IPointerInactive
-
IPrivacyServices
- IProvideMultipleClassInfo and its bases
IProvideClassInfo2 and
IProvideClassInfo
-
IQueryPopupMgr
- IServiceProvider
- ISpecifyPropertyPages
- ISupportErrorInfo
- ITargetContainer
- IUnknown
- IViewObjectEx and its bases
IViewObject2 and
IViewObject
- IXMLGenericParse
some more by aggregating CDocument:
- IConnectionPointContainer
- IDispatchEx and its base
IDispatch
- IHTMLDocument2 and its base
IHTMLDocument
- IHTMLDocument3
- IHTMLDocument4
- IHTMLDocument5
- IInternetHostSecurityManager
- IOleItemContainer and its bases
IOleContainer and
IParseDisplayName
some more by aggregating CMarkup:
- IHTMLChangePlayback
- IMarkupContainer2 and its base
IMarkupContainer
- IMarkupTextFrags
There are also some significant special cases. If a CDoc
instance is queried for any non-dual dispatch interface whose DIID has the form
{3050F5xx-98B5-11CF-BB82-00AA00BDCE0B}
where xx ranges from 00 up to but not including
A0, the effect is equivalent to querying for
IHTMLDocument2. Also, a CDoc instance accepts
CLSID_HTMLDocument and
CLSID_CMarkup as interface IDs.