' ########################################################################################
' Microsoft Windows
' File: mshtmhst.inc
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_MsHtmHst_PBI)
#DEFINE PBX_MsHtmHst_PBI
%EQUATE `MSHTMHST_INC = 1
'/* header files for imported files */
#INCLUDE ONCE "Legacy/COM/OCIdl.inc"
#INCLUDE ONCE "Legacy/System/DocObj.inc"
#INCLUDE ONCE "Legacy/System/Mshtmlc.inc"
'//--------------------------------------------------------------------------
'// MSTHML Advanced Host Interfaces.
%EQUATE `CONTEXT_MENU_DEFAULT = 0
%EQUATE `CONTEXT_MENU_IMAGE = 1
%EQUATE `CONTEXT_MENU_CONTROL = 2
%EQUATE `CONTEXT_MENU_TABLE = 3
'// in browse mode
%EQUATE `CONTEXT_MENU_TEXTSELECT = 4
%EQUATE `CONTEXT_MENU_ANCHOR = 5
%EQUATE `CONTEXT_MENU_UNKNOWN = 6
'//;begin_internal
'// These 2 are mapped to IMAGE for the public
%EQUATE `CONTEXT_MENU_IMGDYNSRC = 7
%EQUATE `CONTEXT_MENU_IMGART = 8
%EQUATE `CONTEXT_MENU_DEBUG = 9
'//;end_internal
%EQUATE `CONTEXT_MENU_VSCROLL = 10
%EQUATE `CONTEXT_MENU_HSCROLL = 11
%EQUATE `MENUEXT_SHOWDIALOG = &H1
'%DOCHOSTUIFLAG_BROWSER = %DOCHOSTUIFLAG_DISABLE_HELP_MENU OR %DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE
%EQUATE `HTMLDLG_NOUI = &H10
%EQUATE `HTMLDLG_MODAL = &H20
%EQUATE `HTMLDLG_MODELESS = &H40
%EQUATE `HTMLDLG_PRINT_TEMPLATE = &H80
%EQUATE `HTMLDLG_VERIFY = &H100
%EQUATE `HTMLDLG_LMZLUNLOCK = &H200
%EQUATE `HTMLDLG_ALLOWNEXTWINDOW = &H400
%EQUATE `PRINT_DONTBOTHERUSER = &H01
%EQUATE `PRINT_WAITFORCOMPLETION = &H02
%EQUATE `CMDID_SCRIPTSITE_URL = 0
%EQUATE `CMDID_SCRIPTSITE_HTMLDLGTRUST = 1
%EQUATE `CMDID_SCRIPTSITE_SECSTATE = 2
%EQUATE `CMDID_SCRIPTSITE_SID = 3
%EQUATE `CMDID_SCRIPTSITE_TRUSTEDDOC = 4
%EQUATE `CMDID_SCRIPTSITE_SECURITY_WINDOW = 5
%EQUATE `CMDID_SCRIPTSITE_NAMESPACE = 6
%EQUATE `CMDID_SCRIPTSITE_IURI = 7
'EXTERN_C const GUID CGID_ScriptSite;
$CGID_ScriptSite = GUID$("{3050F3F1-98B5-11CF-BB82-00AA00BDCE0B}")
'EXTERN_C const GUID CGID_MSHTML;
$CGID_MSHTML = GUID$("{DE4BA900-59CA-11CF-9592-444553540000}")
'#define CMDSETID_Forms3 CGID_MSHTML
$CMDSETID_Forms3 = $CGID_MSHTML
'#define SZ_HTML_CLIENTSITE_OBJECTPARAM L"{d4db6850-5385-11d0-89e9-00a0c90a90ac}"
$SZ_HTML_CLIENTSITE_OBJECTPARAM = "{D4DB6850-5385-11D0-89E9-00A0C90A90AC}"
'typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, WCHAR* pchOptions, VARIANT *pvArgOut);
'typedef HRESULT STDAPICALLTYPE SHOWHTMLDIALOGEXFN (HWND hwndParent, IMoniker *pmk, DWORD dwDialogFlags, VARIANT *pvarArgIn, WCHAR* pchOptions, VARIANT *pvArgOut);
'typedef HRESULT STDAPICALLTYPE SHOWMODELESSHTMLDIALOGFN (HWND hwndParent, IMoniker *pmk, VARIANT *pvarArgIn, VARIANT* pvarOptions, IHTMLWindow2 ** ppWindow);
'typedef HRESULT STDAPICALLTYPE IEREGISTERXMLNSFN (__in LPCWSTR lpszURI, __in GUID clsid, __in BOOL fMachine);
'typedef HRESULT STDAPICALLTYPE IEISXMLNSREGISTEREDFN (__in LPCWSTR lpszURI, __out GUID *pCLSID);
DECLARE FUNCTION ShowHTMLDialog LIB "mshtml.dll" ALIAS "ShowHTMLDialog" ( BYVAL hwndParent AS QUAD , BYVAL pMk AS IMoniker , BYREF pvarArgIn AS VARIANT , BYREF pchOptions AS WSTRINGZ , BYREF pvarArgOut AS VARIANT ) AS LONG
DECLARE FUNCTION ShowHTMLDialogEx LIB "mshtml.dll" ALIAS "ShowHTMLDialogEx" ( BYVAL hwndParent AS QUAD
 , BYVAL pMk AS IMoniker
 , BYVAL dwDialogFlags AS DWORD
 , BYREF pvarArgIn AS VARIANT
 , BYREF pchOptions AS WSTRINGZ
 , BYREF pvarArgOut AS VARIANT
 ) AS LONG
DECLARE FUNCTION ShowModelessHTMLDialog LIB "mshtml.dll" ALIAS "ShowModelessHTMLDialog" ( BYVAL hwndParent AS DWORD
 , BYVAL pMk AS IMoniker
 , BYREF pvarArgIn AS VARIANT
 , BYVAL pchOptions AS DWORD
 , BYREF ppWindow AS IHTMLWindow2
 ) AS LONG
DECLARE FUNCTION RunHTMLApplication LIB "mshtml.dll" ALIAS "RunHTMLApplication" ( BYVAL hinst AS DWORD
 , BYVAL hPrevInst AS DWORD
 , BYREF szCmdLine AS ASCIIZ
 , BYVAL nCmdShow AS LONG
 ) AS LONG
DECLARE FUNCTION CreateHTMLPropertyPage LIB "mshtml.dll" ALIAS "CreateHTMLPropertyPage" ( BYVAL pmk AS IMoniker
 , BYREF ppPP AS IPropertyPage
 ) AS LONG
DECLARE FUNCTION IERegisterXMLNS LIB "mshtml.dll" ALIAS "IERegisterXMLNS" ( BYREF lpszURI AS WSTRINGZ
 , BYREF clsid AS GUID
 , BYVAL fMachine AS LONG
 ) AS LONG
DECLARE FUNCTION IEIsXMLNSRegistered LIB "mshtml.dll" ALIAS "IEIsXMLNSRegistered" ( BYREF lpszURI AS WSTRINGZ
 , BYREF pCLSID AS GUID
 ) AS LONG
' ########################################################################################
' Interface name = IHostDialogHelper
' IID = {53DEC138-A51E-11D2-861E-00C04FA35C89}
' Inherited interface = IUnknown
' Minimum availability: Internet Explorer 6.0
' This interface provides a method to create a trusted, modal dialog box that displays HTML.
' To obtain an IHostDialogHelper interface pointer, call CoCreateInstance using
' CLSID_HostDialogHelper and IID_IHostDialogHelper for the CLSID and IID.
' Dialog boxes created with IHostDialogHelper::ShowHTMLDialog are trusted and do not have
' a user interface that identifies them as Internet Explorer dialog boxes.
' ########################################################################################
#IF NOT %DEF(%IHostDialogHelper_INTERFACE_DEFINED)
 %IHostDialogHelper_INTERFACE_DEFINED = 1
$IID_IHostDialogHelper = GUID$("{53DEC138-A51E-11D2-861E-00C04FA35C89}")
INTERFACE IHostDialogHelper $IID_IHostDialogHelper
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ShowHTMLDialog ( ' VTable offset = 12
 BYVAL hwndParent AS DWORD
 , BYVAL pMk AS DWORD
 , BYVAL pvarArgIn AS VARIANT
 , BYVAL pchOptions AS DWORD
 , BYREF pvarArgOut AS VARIANT
 , BYREF punkHost AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IHostDialogHelper_INTERFACE_DEFINED__ */
'EXTERN_C const GUID CLSID_HostDialogHelper;
$CLSID_IHostDialogHelper = GUID$("{429AF92C-A51F-11D2-861E-00C04FA35C89}")
'//;begin_internal
' DOCHOSTUITYPE enum
%EQUATE `DOCHOSTUITYPE_BROWSE = 0
%EQUATE `DOCHOSTUITYPE_AUTHOR = 1
'//;end_internal
' DOCHOSTUIDBLCLK enum
%EQUATE `DOCHOSTUIDBLCLK_DEFAULT = 0
%EQUATE `DOCHOSTUIDBLCLK_SHOWPROPERTIES = 1
%EQUATE `DOCHOSTUIDBLCLK_SHOWCODE = 2
' DOCHOSTUIFLAG enum
%EQUATE `DOCHOSTUIFLAG_DIALOG = &H1
%EQUATE `DOCHOSTUIFLAG_DISABLE_HELP_MENU = &H2
%EQUATE `DOCHOSTUIFLAG_NO3DBORDER = &H4
%EQUATE `DOCHOSTUIFLAG_SCROLL_NO = &H8
%EQUATE `DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE = &H10
%EQUATE `DOCHOSTUIFLAG_OPENNEWWIN = &H20
%EQUATE `DOCHOSTUIFLAG_DISABLE_OFFSCREEN = &H40
%EQUATE `DOCHOSTUIFLAG_FLAT_SCROLLBAR = &H80
%EQUATE `DOCHOSTUIFLAG_DIV_BLOCKDEFAULT = &H100
%EQUATE `DOCHOSTUIFLAG_ACTIVATE_CLIENTHIT_ONLY = &H200
%EQUATE `DOCHOSTUIFLAG_OVERRIDEBEHAVIORFACTORY = &H400
%EQUATE `DOCHOSTUIFLAG_CODEPAGELINKEDFONTS = &H800
%EQUATE `DOCHOSTUIFLAG_URL_ENCODING_DISABLE_UTF8 = &H1000
%EQUATE `DOCHOSTUIFLAG_URL_ENCODING_ENABLE_UTF8 = &H2000
%EQUATE `DOCHOSTUIFLAG_ENABLE_FORMS_AUTOCOMPLETE = &H4000
%EQUATE `DOCHOSTUIFLAG_ENABLE_INPLACE_NAVIGATION = &H10000
%EQUATE `DOCHOSTUIFLAG_IME_ENABLE_RECONVERSION = &H20000
%EQUATE `DOCHOSTUIFLAG_THEME = &H40000
%EQUATE `DOCHOSTUIFLAG_NOTHEME = &H80000
%EQUATE `DOCHOSTUIFLAG_NOPICS = &H100000
%EQUATE `DOCHOSTUIFLAG_NO3DOUTERBORDER = &H200000
%EQUATE `DOCHOSTUIFLAG_DISABLE_EDIT_NS_FIXUP = &H400000
%EQUATE `DOCHOSTUIFLAG_LOCAL_MACHINE_ACCESS_CHECK = &H800000
%EQUATE `DOCHOSTUIFLAG_DISABLE_UNTRUSTEDPROTOCOL = &H1000000
%EQUATE `DOCHOSTUIFLAG_HOST_NAVIGATES = &H02000000
%EQUATE `DOCHOSTUIFLAG_ENABLE_REDIRECT_NOTIFICATION = &H04000000
%EQUATE `DOCHOSTUIFLAG_USE_WINDOWLESS_SELECTCONTROL = &H08000000
%EQUATE `DOCHOSTUIFLAG_USE_WINDOWED_SELECTCONTROL = &H10000000
%EQUATE `DOCHOSTUIFLAG_ENABLE_ACTIVEX_INACTIVATE_MODE = &H20000000
%EQUATE `DOCHOSTUIFLAG_DPI_AWARE = &H40000000
%EQUATE `DOCHOSTUIFLAG_BROWSER = %DOCHOSTUIFLAG_DISABLE_HELP_MENU OR %DOCHOSTUIFLAG_DISABLE_SCRIPT_INACTIVE
'#define DOCHOSTUIATOM_ENABLE_HIRES _T("TridentEnableHiRes")
$DOCHOSTUIATOM_ENABLE_HIRES = "TridentEnableHiRes"
' ########################################################################################
' Interface name = IDocHostUIHandler
' IID = {BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}
' Inherited interface = IUnknown
' This custom interface enables an application hosting the WebBrowser Control or
' automating Microsoft Internet Explorer to replace the menus, toolbars, and context menus
' used by MSHTML.
' ########################################################################################
#IF NOT %DEF(%IDocHostUIHandler_INTERFACE_DEFINED)
 %IDocHostUIHandler_INTERFACE_DEFINED = 1
' // Size = 20 bytes
TYPE DOCHOSTUIINFO DWORD
 cbSize AS DWORD ' ULONG cbSize
 dwFlags AS DWORD ' DWORD dwFlags
 dwDoubleClick AS DWORD ' DWORD dwDoubleClick
 pchHostCss AS WSTRINGZ PTR ' OLECHAR *pchHostCss
 pchHostNS AS WSTRINGZ PTR ' OLECHAR *pchHostNS
END TYPE
$IID_IDocHostUIHandler = GUID$("{BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}")
INTERFACE IDocHostUIHandler $IID_IDocHostUIHandler
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ShowContextMenu ( ' VTable offset = 12
 BYVAL dwID AS DWORD
 , BYREF ppt AS POINT
 , BYVAL pcmdtReserved AS IUnknown
 , BYVAL pdispReserved AS IDispatch
 ) AS LONG
 ' =====================================================================================
 METHOD GetHostInfo ( ' VTable offset = 16
 BYREF pInfo AS DOCHOSTUIINFO
 ) AS LONG
 ' =====================================================================================
 METHOD ShowUI ( ' VTable offset = 20
 BYVAL dwID AS DWORD
 , BYVAL pActiveObject AS IOleInPlaceActiveObject
 , BYVAL pCommandTarget AS IOleCommandTarget
 , BYVAL pFrame AS IOleInPlaceFrame
 , BYVAL pDoc AS IOleInPlaceUIWindow
 ) AS LONG
 ' =====================================================================================
 METHOD HideUI ( ' VTable offset = 24
 ) AS LONG
 ' =====================================================================================
 METHOD UpdateUI ( ' VTable offset = 28
 ) AS LONG
 ' =====================================================================================
 METHOD EnableModeless ( ' VTable offset = 32
 BYVAL fEnable AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD OnDocWindowActivate ( ' VTable offset = 36
 BYVAL fActivate AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD OnFrameWindowActivate ( ' VTable offset = 40
 BYVAL fActivate AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD ResizeBorder ( ' VTable offset = 44
 BYREF prcBorder AS RECT
 , BYVAL pUIWindow AS IOleInPlaceUIWindow
 , BYVAL fRameWindow AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD TranslateAccelerator ( ' VTable offset = 48
 BYREF lpMsg AS tagMSG
 , BYREF pguidCmdGroup AS GUID
 , BYVAL nCmdID AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetOptionKeyPath ( ' VTable offset = 52
 BYREF pchKey AS DWORD
 , BYVAL dw AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetDropTarget ( ' VTable offset = 56
 BYVAL pDropTarget AS IDropTarget
 , BYREF ppDropTarget AS IDropTarget
 ) AS LONG
 ' =====================================================================================
 METHOD GetExternal ( ' VTable offset = 60
 BYREF ppDispatch AS IDispatch
 ) AS LONG
 ' =====================================================================================
 METHOD TranslateUrl ( ' VTable offset = 64
 BYVAL dwTranslate AS DWORD
 , BYREF pchURLIn AS WSTRINGZ
 , BYREF ppchURLOut AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD FilterDataObject ( ' VTable offset = 68
 BYVAL pDO AS IDataObject
 , BYREF ppDORet AS IDataObject
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IDocHostUIHandler_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IDocHostUIHandler2
' IID = {BD3F23C0-D43E-11CF-893B-00AA00BDCE1A}
' Inherited interface = IDocHostUIHandler
' This custom interface extends IDocHostUIHandler with a method that facilitates Microsoft
' Internet Explorer registry changes.
' ########################################################################################
#IF NOT %DEF(%IDocHostUIHandler2_INTERFACE_DEFINED)
 %IDocHostUIHandler2_INTERFACE_DEFINED = 1
$IID_IDocHostUIHandler2 = GUID$("{3050F6D0-98B5-11CF-BB82-00AA00BDCE0B}")
INTERFACE IDocHostUIHandler2 $IID_IDocHostUIHandler2
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ShowContextMenu ( ' VTable offset = 12
 BYVAL dwID AS DWORD
 , BYREF ppt AS POINT
 , BYVAL pcmdtReserved AS IUnknown
 , BYVAL pdispReserved AS IDispatch
 ) AS LONG
 ' =====================================================================================
 METHOD GetHostInfo ( ' VTable offset = 16
 BYREF pInfo AS DOCHOSTUIINFO
 ) AS LONG
 ' =====================================================================================
 METHOD ShowUI ( ' VTable offset = 20
 BYVAL dwID AS DWORD
 , BYVAL pActiveObject AS IOleInPlaceActiveObject
 , BYVAL pCommandTarget AS IOleCommandTarget
 , BYVAL pFrame AS IOleInPlaceFrame
 , BYVAL pDoc AS IOleInPlaceUIWindow
 ) AS LONG
 ' =====================================================================================
 METHOD HideUI ( ' VTable offset = 24
 ) AS LONG
 ' =====================================================================================
 METHOD UpdateUI ( ' VTable offset = 28
 ) AS LONG
 ' =====================================================================================
 METHOD EnableModeless ( ' VTable offset = 32
 BYVAL fEnable AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD OnDocWindowActivate ( ' VTable offset = 36
 BYVAL fActivate AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD OnFrameWindowActivate ( ' VTable offset = 40
 BYVAL fActivate AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD ResizeBorder ( ' VTable offset = 44
 BYREF prcBorder AS RECT
 , BYVAL pUIWindow AS IOleInPlaceUIWindow
 , BYVAL fRameWindow AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD TranslateAccelerator ( ' VTable offset = 48
 BYREF lpMsg AS tagMSG
 , BYREF pguidCmdGroup AS GUID
 , BYVAL nCmdID AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetOptionKeyPath ( ' VTable offset = 52
 BYREF pchKey AS DWORD
 , BYVAL dw AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD GetDropTarget ( ' VTable offset = 56
 BYVAL pDropTarget AS IDropTarget
 , BYREF ppDropTarget AS IDropTarget
 ) AS LONG
 ' =====================================================================================
 METHOD GetExternal ( ' VTable offset = 60
 BYREF ppDispatch AS IDispatch
 ) AS LONG
 ' =====================================================================================
 METHOD TranslateUrl ( ' VTable offset = 64
 BYVAL dwTranslate AS DWORD
 , BYREF pchURLIn AS WSTRINGZ
 , BYREF ppchURLOut AS DWORD
 ) AS LONG
 ' =====================================================================================
 METHOD FilterDataObject ( ' VTable offset = 68
 BYVAL pDO AS IDataObject
 , BYREF ppDORet AS IDataObject
 ) AS LONG
 ' =====================================================================================
 METHOD GetOverrideKeyPath ( ' VTable offset = 72
 BYREF pchKey AS DWORD
 , BYVAL dw AS DWORD
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IDocHostUIHandler2_INTERFACE_DEFINED__ */
'DEFINE_GUID(CGID_DocHostCommandHandler,0xf38bc242,0xb950,0x11d1,0x89,0x18,0x00,0xc0,0x4f,0xc2,0xc8,0x36);
$CGID_DocHostCommandHandler = GUID$("{F38BC242-B950-11D1-8918-00C04FC2C836}")
' ########################################################################################
' Interface name = ICustomDoc
' IID = {3050F3F0-98B5-11CF-BB82-00AA00BDCE0B}
' Inherited interface = IUnknown
' The ICustomDoc interface is implemented by MSHTML to allow a host to set the
' MSHTMLIDocHostUIHandler interface.
' Normally, MSHTML will call the host client site's QueryInterface method to obtain the
' IDocHostUIHandler interface. MSHTML implements ICustomDoc so that a host that does not
' implement a client site can still use MSHTML UI customization features.
' ########################################################################################
#IF NOT %DEF(%ICustomDoc_INTERFACE_DEFINED)
 %ICustomDoc_INTERFACE_DEFINED = 1
$IID_ICustomDoc = GUID$("{3050F3F0-98B5-11CF-BB82-00AA00BDCE0B}")
INTERFACE ICustomDoc $IID_ICustomDoc
 INHERIT IUnknown
 ' =====================================================================================
 METHOD SetUIHandler ( ' VTable offset = 12
 BYVAL pUIHandler AS IDocHostUIHandler
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __ICustomDoc_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IDocHostShowUI
' IID = {C4D244B0-D43E-11CF-893B-00AA00BDCE1A}
' Inherited interface = IUnknown
' A host can supply mechanisms that will show message boxes and Help by implementing the
' IDocHostShowUI interface.
' ########################################################################################
#IF NOT %DEF(%IDocHostShowUI_INTERFACE_DEFINED)
 %IDocHostShowUI_INTERFACE_DEFINED = 1
$IID_IDocHostShowUI = GUID$("{C4D244B0-D43E-11CF-893B-00AA00BDCE1A}")
INTERFACE IDocHostShowUI $IID_IDocHostShowUI
 INHERIT IUnknown
 ' =====================================================================================
 METHOD ShowMessage ( ' VTable offset = 12
 BYVAL hwnd AS DWORD
 , BYREF lpstrText AS WSTRINGZ
 , BYREF lpstrCaption AS WSTRINGZ
 , BYVAL dwType AS DWORD
 , BYREF lpstrHelpFile AS WSTRINGZ
 , BYVAL dwHelpContext AS DWORD
 , BYREF plResult AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD ShowHelp ( ' VTable offset = 16
 BYVAL hwnd AS DWORD
 , BYREF pszHelpFile AS WSTRINGZ
 , BYVAL uCommand AS DWORD
 , BYVAL dwData AS DWORD
 , BYVAL ptMouse AS POINT
 , BYREF pDispatchObjectHit AS IDispatch
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IDocHostShowUI_INTERFACE_DEFINED__ */
'#define IClassFactory3 IClassFactoryEx
'#define IID_IClassFactory3 IID_IClassFactoryEx
' ########################################################################################
' Interface name = IClassFactoryEx
' IID = {342D1EA0-AE25-11D1-89C5-006008C3FBFC}
' Inherited interface = IClassFactory
' Undocumented.
' ########################################################################################
#IF NOT %DEF(%IClassFactoryEx_INTERFACE_DEFINED)
 %IClassFactoryEx_INTERFACE_DEFINED = 1
$IID_IClassFactoryEx = GUID$("{342D1EA0-AE25-11D1-89C5-006008C3FBFC}")
INTERFACE IClassFactoryEx $IID_IClassFactoryEx
 INHERIT IUnknown
 ' =====================================================================================
 METHOD CreateInstance ( ' VTable offset = 12
 BYVAL pUnkOuter AS IUnknown
 , BYREF riid AS GUID
 , BYREF ppvObject AS IUnknown
 ) AS LONG
 ' =====================================================================================
 METHOD LockServer ( ' VTable offset = 16
 BYVAL fLock AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD CreateInstanceWithContext ( ' VTable offset = 20
 BYVAL punkContext AS IUnknown
 , BYVAL punkOuter AS IUnknown
 , BYREF riid AS GUID
 , BYREF ppv AS IUnknown
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IClassFactoryEx_INTERFACE_DEFINED__ */
' ########################################################################################
' Interface name = IHTMLOMWindowServices
' IID = {C4D244B0-D43E-11CF-893B-00AA00BDCE1A}
' Inherited interface = IUnknown
' Minimum operating system: Windows XP SP2
' Allows applications hosting the WebBrowser Control to intercept the window object calls
' moveTo, moveBy, resizeTo, and resizeBy for manipulating the host's window coordinates
' from Dynamic HTML (DHTML) script.
' ########################################################################################
#IF NOT %DEF(%IHTMLOMWindowServices_INTERFACE_DEFINED)
 %IHTMLOMWindowServices_INTERFACE_DEFINED = 1
$IID_IHTMLOMWindowServices = GUID$("{3050F5FC-98B5-11CF-BB82-00AA00BDCE0B}")
$SID_IHTMLOMWindowServices = GUID$("{3050F5FC-98B5-11CF-BB82-00AA00BDCE0B}")
INTERFACE IHTMLOMWindowServices $IID_IHTMLOMWindowServices
 INHERIT IUnknown
 ' =====================================================================================
 METHOD moveTo ( ' VTable offset = 12
 BYVAL x AS LONG
 , BYVAL y AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD moveBy ( ' VTable offset = 16
 BYVAL x AS LONG
 , BYVAL y AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD resizeTo ( ' VTable offset = 20
 BYVAL x AS LONG
 , BYVAL y AS LONG
 ) AS LONG
 ' =====================================================================================
 METHOD resizeBy ( ' VTable offset = 24
 BYVAL x AS LONG
 , BYVAL y AS LONG
 ) AS LONG
 ' =====================================================================================
END INTERFACE
#ENDIF ' /* __IHTMLOMWindowServices_INTERFACE_DEFINED__ */
#ENDIF
