2 * Defines the COM interfaces and APIs related to the IE Web browser
4 * Copyright (C) 2001 John R. Sheets (for CodeWeavers)
5 * Copyright (C) 2003 Alexandre Julliard
7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Lesser General Public
9 * License as published by the Free Software Foundation; either
10 * version 2.1 of the License, or (at your option) any later version.
12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Lesser General Public License for more details.
17 * You should have received a copy of the GNU Lesser General Public
18 * License along with this library; if not, write to the Free Software
19 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
26 /*****************************************************************************
27 * IWebBrowser interface
32 uuid(eab22ac1
-30c1
-11cf
-a7eb
-0000c05bae0b
)
34 interface IWebBrowser
: IDispatch
36 typedef enum BrowserNavConstants
38 navOpenInNewWindow
= 0x1,
40 navNoReadFromCache
= 0x4,
41 navNoWriteToCache
= 0x8,
42 navAllowAutosearch
= 0x10,
45 navEnforceRestricted
= 0x80
46 } BrowserNavConstants
;
48 typedef enum RefreshConstants
51 REFRESH_IFEXPIRED
= 1,
52 REFRESH_COMPLETELY
= 3
62 [in] VARIANT *TargetFrameName
,
63 [in] VARIANT *PostData
,
64 [in] VARIANT *Headers
);
66 HRESULT Refresh2
( [in] VARIANT *Level
);
68 [propget] HRESULT Application
([out] IDispatch
** ppDisp
);
69 [propget] HRESULT Parent
([out] IDispatch
** ppDisp
);
70 [propget] HRESULT Container
([out] IDispatch
** ppDisp
);
71 [propget] HRESULT Document
([out] IDispatch
** ppDisp
);
72 [propget] HRESULT TopLevelContainer
([out] VARIANT_BOOL* pBool
);
73 [propget] HRESULT Type
([out] BSTR* Type
);
74 [propget] HRESULT Left
([out] long *pl
);
75 [propput] HRESULT Left
([in] long Left
);
76 [propget] HRESULT Top
([out] long *pl
);
77 [propput] HRESULT Top
([in] long Top
);
78 [propget] HRESULT Width
([out] long *pl
);
79 [propput] HRESULT Width
([in] long Width
);
80 [propget] HRESULT Height
([out] long *pl
);
81 [propput] HRESULT Height
([in] long Height
);
82 [propget] HRESULT LocationName
([out] BSTR *LocationName
);
83 [propget] HRESULT LocationURL
([out] BSTR * LocationURL
);
84 [propget] HRESULT Busy
([out] VARIANT_BOOL *pBool
);
88 /*****************************************************************************
89 * IWebBrowserApp interface
94 uuid(0002df05
-0000-0000-c000
-000000000046)
96 interface IWebBrowserApp
: IWebBrowser
99 HRESULT ClientToWindow
([in,out] int* pcx
, [in,out] int* pcy
);
100 HRESULT PutProperty
([in] BSTR szProperty
, [in] VARIANT vtValue
);
101 HRESULT GetProperty
([in] BSTR szProperty
, [out] VARIANT *pvtValue
);
102 [propget] HRESULT Name
([out] BSTR* Name
);
103 [propget] HRESULT HWND
([out] long *pHWND
);
104 [propget] HRESULT FullName
([out] BSTR* FullName
);
105 [propget] HRESULT Path
([out] BSTR* Path
);
106 [propget] HRESULT Visible
([out] VARIANT_BOOL* pBool
);
107 [propput] HRESULT Visible
([in] VARIANT_BOOL Value
);
108 [propget] HRESULT StatusBar
([out] VARIANT_BOOL* pBool
);
109 [propput] HRESULT StatusBar
([in] VARIANT_BOOL Value
);
110 [propget] HRESULT StatusText
([out] BSTR *StatusText
);
111 [propput] HRESULT StatusText
([in] BSTR StatusText
);
112 [propget] HRESULT ToolBar
([out] int * Value
);
113 [propput] HRESULT ToolBar
([in] int Value
);
114 [propget] HRESULT MenuBar
([out] VARIANT_BOOL * Value
);
115 [propput] HRESULT MenuBar
([in] VARIANT_BOOL Value
);
116 [propget] HRESULT FullScreen
([out] VARIANT_BOOL * pbFullScreen
);
117 [propput] HRESULT FullScreen
([in] VARIANT_BOOL bFullScreen
);
120 /*****************************************************************************
121 * IWebBrowser2 interface
126 uuid(d30c1661
-cdaf
-11d0
-8a3e
-00c04fc9e26e
)
128 interface IWebBrowser2
: IWebBrowserApp
133 [in] VARIANT *TargetFrameName
,
134 [in] VARIANT *PostData
,
135 [in] VARIANT *Headers
);
136 HRESULT QueryStatusWB
([in] OLECMDID cmdID
, [out] OLECMDF
*pcmdf
);
137 HRESULT ExecWB
([in] OLECMDID cmdID
, [in] OLECMDEXECOPT cmdexecopt
, [in] VARIANT *pvaIn
, [out, in] VARIANT *pvaOut
);
138 HRESULT ShowBrowserBar
([in] VARIANT *pvaClsid
, [in] VARIANT *pvarShow
, [in] VARIANT *pvarSize
);
140 [propget] HRESULT ReadyState
([out] READYSTATE
*plReadyState
);
141 [propget] HRESULT Offline
([out] VARIANT_BOOL *pbOffline
);
142 [propput] HRESULT Offline
([in] VARIANT_BOOL bOffline
);
143 [propget] HRESULT Silent
([out] VARIANT_BOOL *pbSilent
);
144 [propput] HRESULT Silent
([in] VARIANT_BOOL bSilent
);
145 [propget] HRESULT RegisterAsBrowser
([out] VARIANT_BOOL *pbRegister
);
146 [propput] HRESULT RegisterAsBrowser
([in] VARIANT_BOOL bRegister
);
147 [propget] HRESULT RegisterAsDropTarget
([out] VARIANT_BOOL *pbRegister
);
148 [propput] HRESULT RegisterAsDropTarget
([in] VARIANT_BOOL bRegister
);
149 [propget] HRESULT TheaterMode
([out] VARIANT_BOOL *pbRegister
);
150 [propput] HRESULT TheaterMode
([in] VARIANT_BOOL bRegister
);
151 [propget] HRESULT AddressBar
([out] VARIANT_BOOL *Value
);
152 [propput] HRESULT AddressBar
([in] VARIANT_BOOL Value
);
153 [propget] HRESULT Resizable
([out] VARIANT_BOOL *Value
);
154 [propput] HRESULT Resizable
([in] VARIANT_BOOL Value
);
160 uuid(85cb6900
-4d95
-11cf
-960c
-0080c7f4ee85
)
162 interface IShellWindows
: IDispatch
164 [propget] HRESULT Count
( [out] long *Count
);
165 HRESULT Item
( [in] VARIANT index
, [out] IDispatch
**Folder
);
166 HRESULT _NewEnum
( [out] IUnknown
**ppunk
);
167 HRESULT Register
( [in] IDispatch
*pid
, [in] long hWnd
, [in] int swClass
,
168 [out] long *plCookie
);
169 HRESULT RegisterPending
( [in] long lThread
, [in] VARIANT *pvarloc
,
170 [in] VARIANT *varlocRoot
, [in] int swClass
, [out] long *plCookie
);
171 HRESULT Revoke
( [in] long Cookie
);
172 HRESULT OnNavigate
( [in] long Cookie
, [out] VARIANT *pvarLoc
);
173 HRESULT OnActivated
( [in] long Cookie
, [in] VARIANT fActive
);
174 HRESULT FindWindowSW
( [in] VARIANT *pvarLoc
, [in] VARIANT *pvarLocRoot
,
175 [in] int swClass
, [out] long *phwnd
, int swfwOptions
,
176 IDispatch
**ppdispOut
);
177 HRESULT OnCreated
( [in] long lCookie
, [in] IUnknown
*punk
);
178 HRESULT ProcessAttachDetach
( [in] VARIANT_BOOL fAttach
);
182 cpp_quote
("DEFINE_GUID(CLSID_WebBrowser, 0x8856f961, 0x340a, 0x11d0, 0xa9, 0x6b, 0x00, 0xc0, 0x4f, 0xd7, 0x05, 0xa2);")