gdi: Also initialize a variable in the failure case.
[wine/multimedia.git] / include / exdisp.idl
blob56b7648c0da02428270ec31a446b06e1bc89005b
1 /*
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
6 * Copuright (C) 2004 Jacek Caban
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
23 import "ocidl.idl";
24 import "docobj.idl";
26 #include <olectl.h>
27 #include <exdispid.h>
29 /*****************************************************************************
30 * IWebBrowser interface
33 object,
34 oleautomation,
35 uuid(eab22ac1-30c1-11cf-a7eb-0000c05bae0b)
37 interface IWebBrowser : IDispatch
39 typedef enum BrowserNavConstants
41 navOpenInNewWindow = 0x1,
42 navNoHistory = 0x2,
43 navNoReadFromCache = 0x4,
44 navNoWriteToCache = 0x8,
45 navAllowAutosearch = 0x10,
46 navBrowserBar = 0x20,
47 navHyperlink = 0x40,
48 navEnforceRestricted = 0x80
49 } BrowserNavConstants;
51 typedef enum RefreshConstants
53 REFRESH_NORMAL = 0,
54 REFRESH_IFEXPIRED = 1,
55 REFRESH_COMPLETELY = 3
56 } RefreshConstants;
58 [id(100)] HRESULT GoBack();
59 [id(101)] HRESULT GoForward();
60 [id(102)] HRESULT GoHome();
61 [id(103)] HRESULT GoSearch();
63 [id(104)]
64 HRESULT Navigate(
65 [in] BSTR URL,
66 [in, optional] VARIANT *Flags,
67 [in, optional] VARIANT *TargetFrameName,
68 [in, optional] VARIANT *PostData,
69 [in, optional] VARIANT *Headers);
71 [id(DISPID_REFRESH)] HRESULT Refresh();
72 [id(105)] HRESULT Refresh2([in, optional] VARIANT *Level);
73 [id(106)] HRESULT Stop();
74 [id(200), propget] HRESULT Application([out, retval] IDispatch** ppDisp);
75 [id(201), propget] HRESULT Parent([out, retval] IDispatch** ppDisp);
76 [id(202), propget] HRESULT Container([out, retval] IDispatch** ppDisp);
77 [id(203), propget] HRESULT Document([out] IDispatch** ppDisp);
78 [id(204), propget] HRESULT TopLevelContainer([out, retval] VARIANT_BOOL* pBool);
79 [id(205), propget] HRESULT Type([out, retval] BSTR* Type);
80 [id(206), propget] HRESULT Left([out, retval] long *pl);
81 [id(206), propput] HRESULT Left([in] long Left);
82 [id(207), propget] HRESULT Top([out, retval] long *pl);
83 [id(207), propput] HRESULT Top([in] long Top);
84 [id(208), propget] HRESULT Width([out, retval] long *pl);
85 [id(208), propput] HRESULT Width([in] long Width);
86 [id(209), propget] HRESULT Height([out, retval] long *pl);
87 [id(209), propput] HRESULT Height([in] long Height);
88 [id(210), propget] HRESULT LocationName([out, retval] BSTR *LocationName);
89 [id(211), propget] HRESULT LocationURL([out, retval] BSTR * LocationURL);
90 [id(212), propget] HRESULT Busy([out, retval] VARIANT_BOOL *pBool);
94 /*****************************************************************************
95 * IWebBrowserApp interface
98 object,
99 oleautomation,
100 uuid(0002df05-0000-0000-c000-000000000046)
102 interface IWebBrowserApp : IWebBrowser
104 [id(300)] HRESULT Quit();
105 [id(301)] HRESULT ClientToWindow([in,out] int* pcx, [in,out] int* pcy);
106 [id(302)] HRESULT PutProperty([in] BSTR szProperty, [in] VARIANT vtValue);
107 [id(303)] HRESULT GetProperty([in] BSTR szProperty, [out, retval] VARIANT *pvtValue);
108 [id(0), propget] HRESULT Name([out, retval] BSTR* Name);
109 [id(DISPID_HWND), propget] HRESULT HWND([out, retval] long *pHWND);
110 [id(400), propget] HRESULT FullName([out, retval] BSTR* FullName);
111 [id(401), propget] HRESULT Path([out, retval] BSTR* Path);
112 [id(402), propget] HRESULT Visible([out, retval] VARIANT_BOOL* pBool);
113 [id(402), propput] HRESULT Visible([in] VARIANT_BOOL Value);
114 [id(403), propget] HRESULT StatusBar([out, retval] VARIANT_BOOL* pBool);
115 [id(403), propput] HRESULT StatusBar([in] VARIANT_BOOL Value);
116 [id(404), propget] HRESULT StatusText([out, retval] BSTR *StatusText);
117 [id(404), propput] HRESULT StatusText([in] BSTR StatusText);
118 [id(405), propget] HRESULT ToolBar([out, retval] int * Value);
119 [id(405), propput] HRESULT ToolBar([in] int Value);
120 [id(406), propget] HRESULT MenuBar([out, retval] VARIANT_BOOL * Value);
121 [id(406), propput] HRESULT MenuBar([in] VARIANT_BOOL Value);
122 [id(407), propget] HRESULT FullScreen([out, retval] VARIANT_BOOL * pbFullScreen);
123 [id(407), propput] HRESULT FullScreen([in] VARIANT_BOOL bFullScreen);
126 /*****************************************************************************
127 * IWebBrowser2 interface
130 object,
131 oleautomation,
132 uuid(d30c1661-cdaf-11d0-8a3e-00c04fc9e26e)
134 interface IWebBrowser2 : IWebBrowserApp
136 [id(500)] HRESULT Navigate2(
137 [in] VARIANT *URL,
138 [in, optional] VARIANT *Flags,
139 [in, optional] VARIANT *TargetFrameName,
140 [in, optional] VARIANT *PostData,
141 [in, optional] VARIANT *Headers);
143 [id(501)] HRESULT QueryStatusWB(
144 [in] OLECMDID cmdID,
145 [out, retval] OLECMDF *pcmdf);
147 [id(502)] HRESULT ExecWB(
148 [in] OLECMDID cmdID,
149 [in] OLECMDEXECOPT cmdexecopt,
150 [in, optional] VARIANT *pvaIn,
151 [out, in, optional] VARIANT *pvaOut);
153 [id(503)] HRESULT ShowBrowserBar(
154 [in] VARIANT *pvaClsid,
155 [in, optional] VARIANT *pvarShow,
156 [in, optional] VARIANT *pvarSize);
158 [id(DISPID_READYSTATE), propget] HRESULT ReadyState([out, retval] READYSTATE *plReadyState);
159 [id(550), propget] HRESULT Offline([out, retval] VARIANT_BOOL *pbOffline);
160 [id(550), propput] HRESULT Offline([in] VARIANT_BOOL bOffline);
161 [id(551), propget] HRESULT Silent([out, retval] VARIANT_BOOL *pbSilent);
162 [id(551), propput] HRESULT Silent([in] VARIANT_BOOL bSilent);
163 [id(552), propget] HRESULT RegisterAsBrowser([out, retval] VARIANT_BOOL *pbRegister);
164 [id(552), propput] HRESULT RegisterAsBrowser([in] VARIANT_BOOL bRegister);
165 [id(553), propget] HRESULT RegisterAsDropTarget([out, retval] VARIANT_BOOL *pbRegister);
166 [id(553), propput] HRESULT RegisterAsDropTarget([in] VARIANT_BOOL bRegister);
167 [id(554), propget] HRESULT TheaterMode([out, retval] VARIANT_BOOL *pbRegister);
168 [id(554), propput] HRESULT TheaterMode([in] VARIANT_BOOL bRegister);
169 [id(555), propget] HRESULT AddressBar([out, retval] VARIANT_BOOL *Value);
170 [id(555), propput] HRESULT AddressBar([in] VARIANT_BOOL Value);
171 [id(556), propget] HRESULT Resizable([out, retval] VARIANT_BOOL *Value);
172 [id(556), propput] HRESULT Resizable([in] VARIANT_BOOL Value);
176 uuid(eab22ac2-30c1-11CF-a7eb-0000C05bae0b)
178 dispinterface DWebBrowserEvents
180 properties:
181 methods:
182 [id(DISPID_BEFORENAVIGATE)]
183 void BeforeNavigate(
184 [in] BSTR URL,
185 [in] long Flags,
186 [in] BSTR TargetFrameName,
187 [in] VARIANT *PostData,
188 [in] BSTR Headers,
189 [in, out] VARIANT_BOOL *Cancel);
191 [id(DISPID_NAVIGATECOMPLETE)]
192 void NavigateComplete([in] BSTR URL);
194 [id(DISPID_STATUSTEXTCHANGE)]
195 void StatusTextChange([in] BSTR Text);
197 [id(DISPID_PROGRESSCHANGE)]
198 void ProgressChange([in] long Progress, [in] long ProgressMax);
200 [id(DISPID_DOWNLOADCOMPLETE)]
201 void DownloadComplete();
203 [id(DISPID_COMMANDSTATECHANGE)]
204 void CommandStateChange([in] long Command, [in]VARIANT_BOOL Enable);
206 [id(DISPID_DOWNLOADBEGIN)]
207 void DownloadBegin();
209 [id(DISPID_NEWWINDOW)]
210 void NewWindow(
211 [in] BSTR URL,
212 [in] long Flags,
213 [in] BSTR TargetFrameName,
214 [in] VARIANT *PostData,
215 [in] BSTR Headers,
216 [in,out] VARIANT_BOOL *Processed);
218 [id(DISPID_TITLECHANGE)]
219 void TitleChange([in] BSTR Text);
221 [id(DISPID_FRAMEBEFORENAVIGATE)]
222 void FrameBeforeNavigate(
223 [in] BSTR URL,
224 [in] long Flags,
225 [in] BSTR TargetFrameName,
226 [in] VARIANT *PostData,
227 [in] BSTR Headers,
228 [in, out]VARIANT_BOOL *Cancel);
230 [id(DISPID_FRAMENAVIGATECOMPLETE)]
231 void FrameNavigateComplete([in] BSTR URL);
233 [id(DISPID_FRAMENEWWINDOW)]
234 void FrameNewWindow(
235 [in] BSTR URL,
236 [in] long Flags,
237 [in] BSTR TargetFrameName,
238 [in] VARIANT *PostData,
239 [in] BSTR Headers,
240 [in,out] VARIANT_BOOL *Processed);
242 [id(DISPID_QUIT)]
243 void Quit([in, out] VARIANT_BOOL *Cancel);
245 [id(DISPID_WINDOWMOVE)]
246 void WindowMove();
248 [id(DISPID_WINDOWRESIZE)]
249 void WindowResize();
251 [id(DISPID_WINDOWACTIVATE)]
252 void WindowActivate();
254 [id(DISPID_PROPERTYCHANGE)]
255 void PropertyChange([in] BSTR Property);
259 uuid(34a715a0-6587-11d0-924a-0020afc7ac4d)
261 dispinterface DWebBrowserEvents2
263 properties:
264 methods:
265 [id(DISPID_STATUSTEXTCHANGE)]
266 void StatusTextChange([in] BSTR Text);
268 [id(DISPID_PROGRESSCHANGE)]
269 void ProgressChange([in] long Progress, [in] long ProgressMax);
271 [id(DISPID_COMMANDSTATECHANGE)]
272 void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable);
274 [id(DISPID_DOWNLOADBEGIN)]
275 void DownloadBegin();
277 [id(DISPID_DOWNLOADCOMPLETE)]
278 void DownloadComplete();
280 [id(DISPID_TITLECHANGE)]
281 void TitleChange([in] BSTR szProperty);
283 [id(DISPID_PROPERTYCHANGE)]
284 void PropertyChange([in] BSTR szProperty);
286 [id(DISPID_BEFORENAVIGATE2)]
287 void BeforeNavigate2(
288 [in] IDispatch *pDisp,
289 [in] VARIANT *URL,
290 [in] VARIANT *Flags,
291 [in] VARIANT *TargetFrameName,
292 [in] VARIANT *PostData,
293 [in] VARIANT *Headers,
294 [in, out] VARIANT_BOOL *Cancel);
296 [id(DISPID_NEWWINDOW2)]
297 void NewWindow2([in, out] IDispatch **ppDisp, [in, out] VARIANT_BOOL *Cancel);
299 [id(DISPID_NAVIGATECOMPLETE2)]
300 void NavigateComplete2([in] IDispatch *pDisp, [in] VARIANT *URL);
302 [id(DISPID_DOCUMENTCOMPLETE)]
303 void DocumentComplete([in] IDispatch *pDisp, [in] VARIANT *URL);
305 [id(DISPID_ONQUIT)]
306 void OnQuit();
308 [id(DISPID_ONVISIBLE)]
309 void OnVisible([in] VARIANT_BOOL Visible);
311 [id(DISPID_ONTOOLBAR)]
312 void OnToolBar([in] VARIANT_BOOL ToolBar);
314 [id(DISPID_ONMENUBAR)]
315 void OnMenuBar([in] VARIANT_BOOL MenuBar);
317 [id(DISPID_ONSTATUSBAR)]
318 void OnStatusBar([in] VARIANT_BOOL StatusBar);
320 [id(DISPID_ONFULLSCREEN)]
321 void OnFullScreen([in] VARIANT_BOOL FullScreen);
323 [id(DISPID_ONTHEATERMODE)]
324 void OnTheaterMode([in] VARIANT_BOOL TheaterMode);
326 [id(DISPID_WINDOWSETRESIZABLE)]
327 void WindowSetResizable([in] VARIANT_BOOL Resizable);
329 [id(DISPID_WINDOWSETLEFT)]
330 void WindowSetLeft([in] long Left);
332 [id(DISPID_WINDOWSETTOP)]
333 void WindowSetTop([in] long Top);
335 [id(DISPID_WINDOWSETWIDTH)]
336 void WindowSetWidth([in] long Width);
338 [id(DISPID_WINDOWSETHEIGHT)]
339 void WindowSetHeight([in] long Height);
341 [id(DISPID_WINDOWCLOSING)]
342 void WindowClosing(
343 [in] VARIANT_BOOL IsChildWindow,
344 [in, out] VARIANT_BOOL *Cancel);
346 [id(DISPID_CLIENTTOHOSTWINDOW)]
347 void ClientToHostWindow(
348 [in, out] long *CX,
349 [in, out] long *CY);
351 [id(DISPID_SETSECURELOCKICON)]
352 void SetSecureLockIcon([in] long SecureLockIcon);
354 [id(DISPID_FILEDOWNLOAD)]
355 void FileDownload([in, out] VARIANT_BOOL* Cancel);
357 [id(DISPID_NAVIGATEERROR)]
358 void NavigateError(
359 [in] IDispatch *pDisp,
360 [in] VARIANT *URL,
361 [in] VARIANT *Frame,
362 [in] VARIANT *StatusCode,
363 [in, out] VARIANT_BOOL *Cancel);
365 [id(DISPID_PRINTTEMPLATEINSTANTIATION)]
366 void PrintTemplateInstantiation([in] IDispatch *pDisp);
368 [id(DISPID_PRINTTEMPLATETEARDOWN)]
369 void PrintTemplateTeardown([in] IDispatch *pDisp);
371 [id(DISPID_UPDATEPAGESTATUS)]
372 void UpdatePageStatus(
373 [in] IDispatch *pDisp,
374 [in] VARIANT *nPage,
375 [in] VARIANT *fDone);
377 [id(DISPID_PRIVACYIMPACTEDSTATECHANGE)]
378 void PrivacyImpactedStateChange([in] VARIANT_BOOL bImpacted);
382 uuid(8856f961-340a-11d0-a96b-00c04fd705a2)
384 coclass WebBrowser
386 [default] interface IWebBrowser2;
387 interface IWebBrowser;
388 [default, source] dispinterface DWebBrowserEvents2;
389 [source] dispinterface DWebBrowserEvents;
393 object,
394 oleautomation,
395 uuid(85cb6900-4d95-11cf-960c-0080c7f4ee85)
397 interface IShellWindows : IDispatch
399 [propget] HRESULT Count( [out] long *Count );
400 [id(0)] HRESULT Item( [in] VARIANT index, [out] IDispatch **Folder );
401 [id(-4)] HRESULT _NewEnum( [out] IUnknown **ppunk );
402 [hidden] HRESULT Register( [in] IDispatch *pid, [in] long hWnd, [in] int swClass,
403 [out] long *plCookie );
404 [hidden] HRESULT RegisterPending( [in] long lThread, [in] VARIANT *pvarloc,
405 [in] VARIANT *varlocRoot, [in] int swClass, [out] long *plCookie );
406 [hidden] HRESULT Revoke( [in] long Cookie );
407 [hidden] HRESULT OnNavigate( [in] long Cookie, [out] VARIANT *pvarLoc );
408 [hidden] HRESULT OnActivated( [in] long Cookie, [in] VARIANT fActive );
409 [hidden] HRESULT FindWindowSW( [in] VARIANT *pvarLoc, [in] VARIANT *pvarLocRoot,
410 [in] int swClass, [out] long *phwnd, int swfwOptions,
411 IDispatch **ppdispOut );
412 [hidden] HRESULT OnCreated( [in] long lCookie, [in] IUnknown *punk );
413 [hidden] HRESULT ProcessAttachDetach( [in] VARIANT_BOOL fAttach );
417 uuid(9ba05972-f6a8-11cf-a442-00a0c90a8f39)
419 coclass ShellWindows
421 [default] interface IShellWindows;
422 [default, source] dispinterface DShellWindowsEvents;
426 uuid(0002df01-0000-0000-c000-000000000046)
428 coclass InternetExplorer
430 [default] interface IWebBrowser2;
431 interface IWebBrowserApp;
432 [default, source] dispinterface DWebBrowserEvents2;
433 [source] dispinterface DWebBrowserEvents;