COMPAT enumeration
The following flags determine the behavior of registered Microsoft ActiveX controls.
Syntax
typedef enum {
COMPAT_AGGREGATE = 0x00000001,
COMPAT_NO_OBJECTSAFETY = 0x00000002,
COMPAT_NO_PROPNOTIFYSINK = 0x00000004,
COMPAT_SEND_SHOW = 0x00000008,
COMPAT_SEND_HIDE = 0x00000010,
COMPAT_ALWAYS_INPLACEACTIVATE = 0x00000020,
COMPAT_NO_SETEXTENT = 0x00000040,
COMPAT_NO_UIACTIVATE = 0x00000080,
COMPAT_NO_QUICKACTIVATE = 0x00000100,
COMPAT_NO_BINDF_OFFLINEOPERATION = 0x00000200,
COMPAT_EVIL_DONT_LOAD = 0x00000400,
COMPAT_PROGSINK_UNTIL_ACTIVATED = 0x00000800,
COMPAT_USE_PROPBAG_AND_STREAM = 0x00001000,
COMPAT_DISABLEWINDOWLESS = 0x00002000,
COMPAT_SETWINDOWRGN = 0x00004000,
COMPAT_PRINTPLUGINSITE = 0x00008000,
COMPAT_INPLACEACTIVATEEVENWHENINVISIBLE = 0x00010000,
COMPAT_NEVERFOCUSSABLE = 0x00020000,
COMPAT_ALWAYSDEFERSETWINDOWRGN = 0x00040000,
COMPAT_INPLACEACTIVATESYNCHRONOUSLY = 0x00080000,
COMPAT_NEEDSZEROBASEDDRAWRECT = 0x00100000,
COMPAT_HWNDPRIVATE = 0x00200000,
COMPAT_SECURITYCHECKONREDIRECT = 0x00400000,
COMPAT_SAFEFOR_LOADING = 0x00800000
} COMPAT;
Constants
COMPAT_AGGREGATE
This control is aggregated.COMPAT_NO_OBJECTSAFETY
This control is not safe for scripting, even if it implements IObjectSafety.COMPAT_NO_PROPNOTIFYSINK
A property notify sink is not attached to this control.COMPAT_SEND_SHOW
For this control, IOleObject::DoVerb is called with OLEIVERB_SHOW before IOleObject::DoVerb is called with OLEIVERB_INPLACEACTIVATE.COMPAT_SEND_HIDE
For this control, IOleObject::DoVerb is called with OLEIVERB_HIDE before IOleInPlaceObject::InPlaceDeactivate is called.COMPAT_ALWAYS_INPLACEACTIVATE
For this control, IOleObject::DoVerb is called with OLEIVERB_INPLACEACTIVATE.COMPAT_NO_SETEXTENT
The amount of space required by this control's container is not specified.COMPAT_NO_UIACTIVATE
This control cannot activate the UI elements of the current document host.COMPAT_NO_QUICKACTIVATE
This control does not implement IQuickActivate or should not be activated quickly.COMPAT_NO_BINDF_OFFLINEOPERATION
A cached version of this control is never used.COMPAT_EVIL_DONT_LOAD
This control is never used.COMPAT_PROGSINK_UNTIL_ACTIVATED
This control cannot be used for scripting until in-place activation is complete.COMPAT_USE_PROPBAG_AND_STREAM
Both IPersistPropertyBag::Load and IPersistStreamInit::Load are called when using this control.COMPAT_DISABLEWINDOWLESS
This control cannot be in-place activated without a window.COMPAT_SETWINDOWRGN
This control cannot have UI outside of the window.COMPAT_PRINTPLUGINSITE
This control has printing capabilities that should be used instead of those provided by Internet Explorer.COMPAT_INPLACEACTIVATEEVENWHENINVISIBLE
This control is in-place activated whether or not it is visible.COMPAT_NEVERFOCUSSABLE
This control can never receive focus.COMPAT_ALWAYSDEFERSETWINDOWRGN
This control is allowed to have, at most, one pending resize request.COMPAT_INPLACEACTIVATESYNCHRONOUSLY
This control is in-place activated syncronously.COMPAT_NEEDSZEROBASEDDRAWRECT
This control is positioned in the upper-left corner of the host window.COMPAT_HWNDPRIVATE
This control does not provide access to its window handle.COMPAT_SECURITYCHECKONREDIRECT
This control is prevented from accessing content from another domain when redirected by the original server.COMPAT_SAFEFOR_LOADING
Internet Explorer 7 and later. In the Internet zone, Internet Explorer checks every control for IObjectSafety to determine safety status quickly and abort instantiation as soon as possible. If a particular control doesn't implement IObjectSafety or component categories yet still needs to be instantiated in Internet Explorer without data or scripting, this compatibility flag can be used to disable the frontloaded safety check and revert back to Internet Explorer 6 behavior. See Safe Initialization and Scripting for ActiveX Controls.
Remarks
These enumeration members are bit masks that determine how ActiveX controls are used in Internet Explorer. Values are stored in the registry key HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\ActiveX Compatibility.
Requirements
Minimum supported client |
Windows XP |
Minimum supported server |
Windows 2000 Server |
Header |
N/A |