Mercurial > projects > dwt2
comparison org.eclipse.swt.win32.win32.x86/src/org/eclipse/swt/internal/ole/win32/EXDISP.d @ 0:6dd524f61e62
add dwt win and basic java stuff
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Mon, 02 Mar 2009 14:44:16 +0100 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:6dd524f61e62 |
---|---|
1 module org.eclipse.swt.internal.ole.win32.EXDISP; | |
2 //+------------------------------------------------------------------------- | |
3 // | |
4 // Microsoft Windows | |
5 // Copyright 1995 - 1998 Microsoft Corporation. All Rights Reserved. | |
6 // | |
7 //-------------------------------------------------------------------------- | |
8 //private import std.c.windows.windows; | |
9 //private import std.c.windows.com; | |
10 private import org.eclipse.swt.internal.ole.win32.OAIDL; | |
11 private import org.eclipse.swt.internal.ole.win32.OLEIDL; | |
12 private import org.eclipse.swt.internal.ole.win32.DOCOBJ; | |
13 private import org.eclipse.swt.internal.ole.win32.extras; | |
14 import org.eclipse.swt.internal.win32.WINTYPES; | |
15 | |
16 extern (Windows) { | |
17 | |
18 enum BrowserNavConstants { | |
19 navOpenInNewWindow = 0x0001, | |
20 navNoHistory = 0x0002, | |
21 navNoReadFromCache = 0x0004, | |
22 navNoWriteToCache = 0x0008, | |
23 navAllowAutosearch = 0x0010, | |
24 navBrowserBar = 0x0020, | |
25 }; | |
26 enum RefreshConstants { // must map to these in sdk\inc\docobj.h | |
27 REFRESH_NORMAL = 0, //== OLECMDIDF_REFRESH_NORMAL | |
28 REFRESH_IFEXPIRED = 1, //== OLECMDIDF_REFRESH_IFEXPIRED | |
29 REFRESH_COMPLETELY = 3 //== OLECMDIDF_REFRESH_COMPLETELY | |
30 }; | |
31 | |
32 interface IWebBrowser : IDispatch | |
33 { | |
34 HRESULT GoBack(); | |
35 HRESULT GoForward(); | |
36 HRESULT GoHome(); | |
37 HRESULT GoSearch(); | |
38 | |
39 HRESULT Navigate( BSTR URL, | |
40 VARIANT * Flags, | |
41 VARIANT * TargetFrameName, | |
42 VARIANT * PostData, | |
43 VARIANT * Headers); | |
44 | |
45 HRESULT Refresh(); | |
46 | |
47 HRESULT Refresh2(VARIANT * Level); | |
48 | |
49 HRESULT Stop(); | |
50 | |
51 HRESULT Application( IDispatch* ppDisp); | |
52 | |
53 HRESULT Parent( IDispatch* ppDisp); | |
54 | |
55 HRESULT Container( IDispatch* ppDisp); | |
56 | |
57 HRESULT Document( IDispatch* ppDisp); | |
58 | |
59 HRESULT TopLevelContainer( VARIANT_BOOL* pBool); | |
60 | |
61 HRESULT Type( BSTR* Type); | |
62 | |
63 // Window stuff... | |
64 HRESULT Left( LONG *pl); | |
65 HRESULT Put_Left( LONG Left); | |
66 HRESULT Top( LONG *pl); | |
67 HRESULT Put_Top( LONG Top); | |
68 HRESULT Width(LONG *pl); | |
69 HRESULT Put_Width(LONG Width); | |
70 HRESULT Height(LONG *pl); | |
71 HRESULT Put_Height(LONG Height); | |
72 | |
73 // WebBrowser stuff... | |
74 HRESULT LocationName( BSTR *LocationName); | |
75 | |
76 HRESULT LocationURL( BSTR * LocationURL); | |
77 | |
78 HRESULT Busy( VARIANT_BOOL *pBool); | |
79 } | |
80 | |
81 /* //not sure how to process this | |
82 dispinterface DWebBrowserEvents | |
83 { | |
84 properties: | |
85 methods: | |
86 [id(DISPID_BEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to."), helpcontext(0x0000)] | |
87 void BeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel); | |
88 | |
89 [id(DISPID_NAVIGATECOMPLETE), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)] | |
90 void NavigateComplete([in] BSTR URL ); | |
91 | |
92 [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)] | |
93 void StatusTextChange([in]BSTR Text); | |
94 | |
95 [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)] | |
96 void ProgressChange([in] long Progress, [in] long ProgressMax); | |
97 | |
98 [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)] | |
99 void DownloadComplete(); | |
100 | |
101 [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed"), helpcontext(0x0000)] | |
102 void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable); | |
103 | |
104 [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)] | |
105 void DownloadBegin(); | |
106 | |
107 [id(DISPID_NEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)] | |
108 void NewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed); | |
109 | |
110 [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)] | |
111 void TitleChange([in]BSTR Text); | |
112 | |
113 [id(DISPID_FRAMEBEFORENAVIGATE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)] | |
114 void FrameBeforeNavigate([in] BSTR URL, long Flags, BSTR TargetFrameName, VARIANT * PostData, BSTR Headers, [in, out]VARIANT_BOOL * Cancel); | |
115 | |
116 [id(DISPID_FRAMENAVIGATECOMPLETE), helpstring("Fired when a new hyperlink is being navigated to in a frame."), helpcontext(0x0000)] | |
117 void FrameNavigateComplete([in] BSTR URL ); | |
118 | |
119 [id(DISPID_FRAMENEWWINDOW), helpstring("Fired when a new window should be created."), helpcontext(0x0000)] | |
120 void FrameNewWindow([in] BSTR URL, [in] long Flags, [in] BSTR TargetFrameName, [in] VARIANT * PostData, [in] BSTR Headers, [in,out] VARIANT_BOOL * Processed); | |
121 | |
122 // The following are IWebBrowserApp specific: | |
123 // | |
124 [id(DISPID_QUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)] | |
125 void Quit([in, out] VARIANT_BOOL * Cancel); | |
126 | |
127 [id(DISPID_WINDOWMOVE), helpstring("Fired when window has been moved."), helpcontext(0x0000)] | |
128 void WindowMove(); | |
129 | |
130 [id(DISPID_WINDOWRESIZE), helpstring("Fired when window has been sized."), helpcontext(0x0000)] | |
131 void WindowResize(); | |
132 | |
133 [id(DISPID_WINDOWACTIVATE), helpstring("Fired when window has been activated."), helpcontext(0x0000)] | |
134 void WindowActivate(); | |
135 | |
136 [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)] | |
137 void PropertyChange([in] BSTR Property); | |
138 } | |
139 */ | |
140 | |
141 enum CommandStateChangeConstants : uint { | |
142 CSC_UPDATECOMMANDS = 0xFFFFFFFF, | |
143 CSC_NAVIGATEFORWARD = 0x00000001, | |
144 CSC_NAVIGATEBACK = 0x00000002, | |
145 } | |
146 | |
147 interface IWebBrowserApp : IWebBrowser | |
148 { | |
149 HRESULT Quit(); | |
150 | |
151 HRESULT ClientToWindow( int* pcx, int* pcy); | |
152 | |
153 HRESULT PutProperty( BSTR Property, VARIANT vtValue); | |
154 HRESULT GetProperty( BSTR Property, VARIANT *pvtValue); | |
155 | |
156 HRESULT Name( BSTR* Name); | |
157 | |
158 HRESULT HWND(LONG *pHWND); | |
159 | |
160 HRESULT FullName( BSTR* FullName); | |
161 | |
162 HRESULT Path( BSTR* Path); | |
163 | |
164 HRESULT Visible( VARIANT_BOOL* pBool); | |
165 HRESULT Visible( VARIANT_BOOL Value); | |
166 | |
167 HRESULT StatusBar( VARIANT_BOOL* pBool); | |
168 HRESULT StatusBar( VARIANT_BOOL Value); | |
169 | |
170 HRESULT StatusText( BSTR *StatusText); | |
171 HRESULT StatusText( BSTR StatusText); | |
172 | |
173 HRESULT ToolBar( int * Value); | |
174 HRESULT ToolBar( int Value); | |
175 | |
176 HRESULT MenuBar( VARIANT_BOOL * Value); | |
177 HRESULT MenuBar( VARIANT_BOOL Value); | |
178 | |
179 HRESULT FullScreen( VARIANT_BOOL * pbFullScreen); | |
180 HRESULT FullScreen( VARIANT_BOOL bFullScreen); | |
181 } | |
182 | |
183 interface IWebBrowser2 : IWebBrowserApp | |
184 { | |
185 HRESULT Navigate2( VARIANT * URL, | |
186 VARIANT * Flags, | |
187 VARIANT * TargetFrameName, | |
188 VARIANT * PostData, | |
189 VARIANT * Headers); | |
190 | |
191 | |
192 HRESULT QueryStatusWB( OLECMDID cmdID, OLECMDF * pcmdf); | |
193 HRESULT ExecWB( OLECMDID cmdID, OLECMDEXECOPT cmdexecopt, VARIANT * pvaIn, VARIANT * pvaOut); | |
194 HRESULT ShowBrowserBar( VARIANT * pvaClsid, | |
195 VARIANT * pvarShow, | |
196 VARIANT * pvarSize ); | |
197 | |
198 HRESULT ReadyState(READYSTATE * plReadyState); | |
199 | |
200 HRESULT Offline(VARIANT_BOOL * pbOffline); | |
201 HRESULT Offline( VARIANT_BOOL bOffline); | |
202 | |
203 HRESULT Silent(VARIANT_BOOL * pbSilent); | |
204 HRESULT Silent(VARIANT_BOOL bSilent); | |
205 | |
206 HRESULT RegisterAsBrowser(VARIANT_BOOL * pbRegister); | |
207 HRESULT RegisterAsBrowser(VARIANT_BOOL bRegister); | |
208 | |
209 HRESULT RegisterAsDropTarget(VARIANT_BOOL * pbRegister); | |
210 HRESULT RegisterAsDropTarget(VARIANT_BOOL bRegister); | |
211 | |
212 HRESULT TheaterMode(VARIANT_BOOL * pbRegister); | |
213 HRESULT TheaterMode(VARIANT_BOOL bRegister); | |
214 | |
215 HRESULT AddressBar(VARIANT_BOOL * Value); | |
216 HRESULT AddressBar(VARIANT_BOOL Value); | |
217 | |
218 HRESULT Resizable(VARIANT_BOOL * Value); | |
219 HRESULT Resizable(VARIANT_BOOL Value); | |
220 } | |
221 | |
222 /* | |
223 dispinterface DWebBrowserEvents2 | |
224 { | |
225 properties: | |
226 methods: | |
227 [id(DISPID_STATUSTEXTCHANGE), helpstring("Statusbar text changed."), helpcontext(0x0000)] | |
228 void StatusTextChange([in]BSTR Text); | |
229 | |
230 [id(DISPID_PROGRESSCHANGE), helpstring("Fired when download progress is updated."), helpcontext(0x0000)] | |
231 void ProgressChange([in] long Progress, [in] long ProgressMax); | |
232 | |
233 [id(DISPID_COMMANDSTATECHANGE), helpstring("The enabled state of a command changed."), helpcontext(0x0000)] | |
234 void CommandStateChange([in] long Command, [in] VARIANT_BOOL Enable); | |
235 | |
236 [id(DISPID_DOWNLOADBEGIN), helpstring("Download of a page started."), helpcontext(0x000)] | |
237 void DownloadBegin(); | |
238 | |
239 [id(DISPID_DOWNLOADCOMPLETE), helpstring("Download of page complete."), helpcontext(0x0000)] | |
240 void DownloadComplete(); | |
241 | |
242 [id(DISPID_TITLECHANGE), helpstring("Document title changed."), helpcontext(0x0000)] | |
243 void TitleChange([in] BSTR Text); | |
244 | |
245 [id(DISPID_PROPERTYCHANGE), helpstring("Fired when the PutProperty method has been called."), helpcontext(0x0000)] | |
246 void PropertyChange([in] BSTR szProperty); | |
247 | |
248 // New events for IE40: | |
249 // | |
250 [id(DISPID_BEFORENAVIGATE2), helpstring("Fired before navigate occurs in the given WebBrowser (window or frameset element). The processing of this navigation may be modified."), helpcontext(0x0000)] | |
251 void BeforeNavigate2([in] IDispatch* pDisp, | |
252 [in] VARIANT * URL, [in] VARIANT * Flags, [in] VARIANT * TargetFrameName, [in] VARIANT * PostData, [in] VARIANT * Headers, | |
253 [in,out] VARIANT_BOOL * Cancel); | |
254 | |
255 [id(DISPID_NEWWINDOW2), helpstring("A new, hidden, non-navigated WebBrowser window is needed."), helpcontext(0x0000)] | |
256 void NewWindow2([in, out] IDispatch** ppDisp, [in, out] VARIANT_BOOL * Cancel); | |
257 | |
258 [id(DISPID_NAVIGATECOMPLETE2), helpstring("Fired when the document being navigated to becomes visible and enters the navigation stack."), helpcontext(0x0000)] | |
259 void NavigateComplete2([in] IDispatch* pDisp, [in] VARIANT * URL ); | |
260 | |
261 [id(DISPID_DOCUMENTCOMPLETE), helpstring("Fired when the document being navigated to reaches ReadyState_Complete."), helpcontext(0x0000)] | |
262 void DocumentComplete([in] IDispatch* pDisp, [in] VARIANT * URL ); | |
263 | |
264 [id(DISPID_ONQUIT), helpstring("Fired when application is quiting."), helpcontext(0x0000)] | |
265 void OnQuit(); | |
266 | |
267 [id(DISPID_ONVISIBLE), helpstring("Fired when the window should be shown/hidden"), helpcontext(0x0000)] | |
268 void OnVisible([in] VARIANT_BOOL Visible); | |
269 | |
270 [id(DISPID_ONTOOLBAR), helpstring("Fired when the toolbar should be shown/hidden"), helpcontext(0x0000)] | |
271 void OnToolBar([in] VARIANT_BOOL ToolBar); | |
272 | |
273 [id(DISPID_ONMENUBAR), helpstring("Fired when the menubar should be shown/hidden"), helpcontext(0x0000)] | |
274 void OnMenuBar([in] VARIANT_BOOL MenuBar); | |
275 | |
276 [id(DISPID_ONSTATUSBAR), helpstring("Fired when the statusbar should be shown/hidden"), helpcontext(0x0000)] | |
277 void OnStatusBar([in] VARIANT_BOOL StatusBar); | |
278 | |
279 [id(DISPID_ONFULLSCREEN), helpstring("Fired when fullscreen mode should be on/off"), helpcontext(0x0000)] | |
280 void OnFullScreen([in] VARIANT_BOOL FullScreen); | |
281 | |
282 [id(DISPID_ONTHEATERMODE), helpstring("Fired when theater mode should be on/off"), helpcontext(0x0000)] | |
283 void OnTheaterMode([in] VARIANT_BOOL TheaterMode); | |
284 } | |
285 */ | |
286 | |
287 /* | |
288 | |
289 [ | |
290 uuid(EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B), // v.1 clsid CLSID_WebBrowser_V1 | |
291 control, | |
292 helpstring("WebBrowser Control") | |
293 ] | |
294 coclass WebBrowser_V1 | |
295 { | |
296 interface IWebBrowser2; | |
297 [default] interface IWebBrowser; | |
298 [source] dispinterface DWebBrowserEvents2; | |
299 [default, source] dispinterface DWebBrowserEvents; | |
300 } | |
301 | |
302 [ | |
303 uuid(8856F961-340A-11D0-A96B-00C04FD705A2), // v.2 clsid CLSID_WebBrowser | |
304 control, | |
305 helpstring("WebBrowser Control") | |
306 ] | |
307 coclass WebBrowser | |
308 { | |
309 [default] interface IWebBrowser2; | |
310 interface IWebBrowser; | |
311 [default, source] dispinterface DWebBrowserEvents2; | |
312 [source] dispinterface DWebBrowserEvents; | |
313 } | |
314 | |
315 [ | |
316 uuid(0002DF01-0000-0000-C000-000000000046), // CLSID_InternetExplorer | |
317 helpstring("Internet Explorer Application."), | |
318 ] | |
319 coclass InternetExplorer | |
320 { | |
321 [default] interface IWebBrowser2; | |
322 interface IWebBrowserApp; | |
323 [default, source] dispinterface DWebBrowserEvents2; | |
324 [source] dispinterface DWebBrowserEvents; | |
325 } | |
326 | |
327 */ | |
328 | |
329 | |
330 interface IFolderViewOC : IDispatch | |
331 { | |
332 HRESULT SetFolderView(IDispatch pdisp); | |
333 } | |
334 | |
335 interface DShellFolderViewEvents | |
336 { | |
337 void SelectionChanged(); | |
338 } | |
339 | |
340 /* [ | |
341 uuid(9BA05971-F6A8-11CF-A442-00A0C90A8F39), // CLSID_ShellFolderViewOC | |
342 helpstring("Shell Folder View Events Router."), | |
343 hidden | |
344 ] | |
345 coclass ShellFolderViewOC | |
346 { | |
347 [default] interface IFolderViewOC; | |
348 [default, source] dispinterface DShellFolderViewEvents; | |
349 }*/ | |
350 enum ShellWindowTypeConstants { | |
351 SWC_EXPLORER = 0x0, | |
352 SWC_BROWSER = 0x00000001, | |
353 SWC_3RDPARTY = 0x00000002, | |
354 SWC_CALLBACK = 0x00000004, | |
355 } | |
356 | |
357 enum ShellWindowFindWindowOptions { | |
358 SWFO_NEEDDISPATCH = 0x00000001, | |
359 SWFO_INCLUDEPENDING = 0x00000002, | |
360 SWFO_COOKIEPASSED = 0x00000004, | |
361 } | |
362 | |
363 interface DShellWindowsEvents | |
364 { | |
365 void WindowRegistered(LONG lCookie); | |
366 | |
367 void WindowRevoked(LONG lCookie); | |
368 } | |
369 | |
370 interface IShellWindows : IDispatch | |
371 { | |
372 //Properties | |
373 HRESULT Count(LONG *Count); | |
374 | |
375 HRESULT Item(VARIANT index, IDispatch *Folder); | |
376 | |
377 HRESULT _NewEnum(IUnknown *ppunk); | |
378 | |
379 // Some private hidden members to allow shell windows to add and | |
380 // remove themself from the list. We mark them hidden to keep | |
381 // random VB apps from trying to Register... | |
382 HRESULT Register( IDispatch pid, | |
383 LONG hwnd, | |
384 int swClass, | |
385 LONG *plCookie); | |
386 | |
387 HRESULT RegisterPending(LONG lThreadId, | |
388 VARIANT* pvarloc, // will hold pidl that is being opened. | |
389 VARIANT* pvarlocRoot, // Optional root pidl | |
390 int swClass, | |
391 LONG *plCookie); | |
392 | |
393 HRESULT Revoke(LONG lCookie); | |
394 // As an optimization, each window notifies the new location | |
395 // only when | |
396 // (1) it's being deactivated | |
397 // (2) getFullName is called (we overload it to force update) | |
398 HRESULT OnNavigate(LONG lCookie, VARIANT* pvarLoc); | |
399 HRESULT OnActivated(LONG lCookie, VARIANT_BOOL fActive); | |
400 HRESULT FindWindow(VARIANT* pvarLoc, | |
401 VARIANT* pvarLocRoot, | |
402 int swClass, | |
403 LONG * phwnd, | |
404 int swfwOptions, | |
405 IDispatch* ppdispOut); | |
406 HRESULT OnCreated(LONG lCookie,IUnknown punk); | |
407 | |
408 HRESULT ProcessAttachDetach(VARIANT_BOOL fAttach); | |
409 } | |
410 | |
411 /* | |
412 [ | |
413 uuid(9BA05972-F6A8-11CF-A442-00A0C90A8F39), // CLSID_ShellWindows | |
414 helpstring("ShellDispatch Load in Shell Context") | |
415 ] | |
416 coclass ShellWindows | |
417 { | |
418 [default] interface IShellWindows; | |
419 [default, source] dispinterface DShellWindowsEvents; | |
420 } | |
421 */ | |
422 | |
423 /* | |
424 | |
425 [ | |
426 uuid(88A05C00-F000-11CE-8350-444553540000), // IID_IShellLinkDual | |
427 helpstring("Definition of Shell Link IDispatch interface"), | |
428 oleautomation, | |
429 dual, | |
430 odl, | |
431 hidden, | |
432 ] | |
433 interface IShellLinkDual : IDispatch | |
434 { | |
435 [propget, helpstring("Get the path of the link")] | |
436 HRESULT Path([out, retval] BSTR *pbs); | |
437 | |
438 [propput, helpstring("Set the path of the link")] | |
439 HRESULT Path([in] BSTR bs); | |
440 | |
441 [propget, helpstring("Get the description for the link")] | |
442 HRESULT Description([out, retval] BSTR *pbs); | |
443 | |
444 [propput, helpstring("Set the description for the link")] | |
445 HRESULT Description([in] BSTR bs); | |
446 | |
447 [propget, helpstring("Get the working directory for the link")] | |
448 HRESULT WorkingDirectory([out, retval] BSTR *pbs); | |
449 | |
450 [propput, helpstring("Set the working directory for the link")] | |
451 HRESULT WorkingDirectory([in] BSTR bs); | |
452 | |
453 [propget, helpstring("Get the arguments for the link")] | |
454 HRESULT Arguments([out, retval] BSTR *pbs); | |
455 | |
456 [propput, helpstring("Set the arguments for the link")] | |
457 HRESULT Arguments([in] BSTR bs); | |
458 | |
459 | |
460 [propget, helpstring("Get the Hotkey for the link")] | |
461 HRESULT Hotkey([out, retval] int *piHK); | |
462 | |
463 [propput, helpstring("Set the Hotkey for the link")] | |
464 HRESULT Hotkey([in] int iHK); | |
465 | |
466 [propget, helpstring("Get the Show Command for the link")] | |
467 HRESULT ShowCommand([out, retval] int *piShowCommand); | |
468 | |
469 [propput, helpstring("Set the Show Command for the link")] | |
470 HRESULT ShowCommand([in] int iShowCommand); | |
471 | |
472 // STDMETHOD(SetRelativePath)(THIS_ LPCSTR pszPathRel, DWORD dwReserved) PURE; | |
473 //Methods | |
474 [helpstring("Tell the link to resolve itself")] | |
475 HRESULT Resolve([in] int fFlags); | |
476 | |
477 [helpstring("Get the IconLocation for the link")] | |
478 HRESULT GetIconLocation([out] BSTR *pbs, [out,retval] int *piIcon); | |
479 | |
480 [helpstring("Set the IconLocation for the link")] | |
481 HRESULT SetIconLocation([in] BSTR bs, [in] int iIcon); | |
482 | |
483 [helpstring("Tell the link to save the changes")] | |
484 HRESULT Save ([in, optional] VARIANT vWhere); | |
485 } | |
486 | |
487 [ | |
488 uuid(11219420-1768-11d1-95BE-00609797EA4F), // CLSID_ShellLinkObject | |
489 helpstring("Shell Link object") | |
490 ] | |
491 coclass ShellLinkObject // funny name so we don't conflict with CLSID_ShellLink | |
492 { | |
493 [default] interface IShellLinkDual; | |
494 } | |
495 | |
496 [ | |
497 uuid(08EC3E00-50B0-11CF-960C-0080C7F4EE85), // IID_FolderItemVerb | |
498 helpstring("Definition of interface FolderItemVerb"), | |
499 oleautomation, | |
500 dual, | |
501 odl, | |
502 ] | |
503 interface FolderItemVerb : IDispatch | |
504 { | |
505 [propget, helpstring("Get Application object")] | |
506 HRESULT Application ([out, retval] IDispatch **ppid); | |
507 | |
508 [propget, helpstring("Get Parent object")] | |
509 HRESULT Parent([out, retval] IDispatch **ppid); | |
510 | |
511 [id(0), propget, helpstring("Get display name for item")] | |
512 HRESULT Name([out, retval] BSTR *pbs); | |
513 | |
514 [helpstring("Execute the verb")] | |
515 HRESULT DoIt(); | |
516 } | |
517 | |
518 [ | |
519 uuid(1F8352C0-50B0-11CF-960C-0080C7F4EE85), // IID_FolderItemVerbs | |
520 helpstring("Definition of interface FolderItemVerbs"), | |
521 oleautomation, | |
522 dual, | |
523 odl, | |
524 ] | |
525 interface FolderItemVerbs : IDispatch | |
526 { | |
527 //Properties | |
528 [propget, helpstring("Get count of open folder windows")] | |
529 HRESULT Count([out, retval] long *plCount); | |
530 | |
531 [propget, helpstring("Get Application object")] | |
532 HRESULT Application ([out, retval] IDispatch **ppid); | |
533 | |
534 [propget, helpstring("Get Parent object")] | |
535 HRESULT Parent([out, retval] IDispatch **ppid); | |
536 | |
537 //Methods | |
538 //Standard Methods | |
539 [helpstring("Return the specified verb")] | |
540 HRESULT Item([in,optional] VARIANT index, [out, retval]FolderItemVerb **ppid); | |
541 | |
542 [id(-4), helpstring("Enumerates the figures")] | |
543 HRESULT _NewEnum([out, retval] IUnknown **ppunk); | |
544 } | |
545 | |
546 interface Folder; // forward reference | |
547 | |
548 [ | |
549 uuid(FAC32C80-CBE4-11CE-8350-444553540000), // IID_FolderItem | |
550 helpstring("Definition of interface FolderItem"), | |
551 oleautomation, | |
552 dual, | |
553 odl, | |
554 ] | |
555 interface FolderItem : IDispatch | |
556 { | |
557 [propget, helpstring("Get Application object")] | |
558 HRESULT Application ([out, retval] IDispatch **ppid); | |
559 | |
560 [propget, helpstring("Get Parent object")] | |
561 HRESULT Parent([out, retval] IDispatch **ppid); | |
562 | |
563 [id(0), propget, helpstring("Get display name for item")] | |
564 HRESULT Name([out, retval] BSTR *pbs); | |
565 | |
566 [id(0), propput, helpstring("Set the name for the item")] | |
567 HRESULT Name([in] BSTR bs); | |
568 | |
569 [propget, helpstring("Get the pathname to the item")] | |
570 HRESULT Path([out, retval]BSTR *pbs); | |
571 | |
572 [propget, helpstring("If item is link return link object")] | |
573 HRESULT GetLink([out, retval] IDispatch **ppid); | |
574 | |
575 [propget, helpstring("If item is a folder return folder object")] | |
576 HRESULT GetFolder([out, retval] IDispatch **ppid); | |
577 | |
578 [propget, helpstring("Is the item a link?")] | |
579 HRESULT IsLink([out, retval] VARIANT_BOOL *pb); | |
580 | |
581 [propget, helpstring("Is the item a Folder?")] | |
582 HRESULT IsFolder([out, retval] VARIANT_BOOL *pb); | |
583 | |
584 [propget, helpstring("Is the item a file system object?")] | |
585 HRESULT IsFileSystem([out, retval] VARIANT_BOOL *pb); | |
586 | |
587 [propget, helpstring("Is the item browsable?")] | |
588 HRESULT IsBrowsable([out, retval] VARIANT_BOOL *pb); | |
589 | |
590 [propget, helpstring("Modification Date?")] | |
591 HRESULT ModifyDate([out, retval] DATE *pdt); | |
592 | |
593 [propput, helpstring("Modification Date?")] | |
594 HRESULT ModifyDate([in] DATE dt); | |
595 | |
596 [propget, helpstring("Size")] | |
597 HRESULT Size([out, retval] LONG *pul); | |
598 | |
599 [propget, helpstring("Type")] | |
600 HRESULT Type([out, retval] BSTR *pbs); | |
601 | |
602 [helpstring("Get the list of verbs for the object")] | |
603 HRESULT Verbs([out, retval] FolderItemVerbs **ppfic); | |
604 | |
605 [helpstring("Execute a command on the item")] | |
606 HRESULT InvokeVerb([in,optional] VARIANT vVerb); | |
607 } | |
608 | |
609 [ | |
610 uuid(744129E0-CBE5-11CE-8350-444553540000), // IID_FolderItems | |
611 helpstring("Definition of interface FolderItems"), | |
612 oleautomation, | |
613 dual, | |
614 odl, | |
615 ] | |
616 interface FolderItems : IDispatch | |
617 { | |
618 //Properties | |
619 [propget, helpstring("Get count of items in the folder")] | |
620 HRESULT Count([out, retval] long *plCount); | |
621 | |
622 [propget, helpstring("Get Application object")] | |
623 HRESULT Application ([out, retval] IDispatch **ppid); | |
624 | |
625 [propget, helpstring("Get Parent object")] | |
626 HRESULT Parent([out, retval] IDispatch **ppid); | |
627 | |
628 //Methods | |
629 //Standard Methods | |
630 [helpstring("Return the figure for the given index")] | |
631 HRESULT Item([in,optional] VARIANT index, [out, retval]FolderItem **ppid); | |
632 | |
633 [id(-4), helpstring("Enumerates the figures")] | |
634 HRESULT _NewEnum([out, retval] IUnknown **ppunk); | |
635 } | |
636 | |
637 [ | |
638 uuid(BBCBDE60-C3FF-11CE-8350-444553540000), // IID_Folder | |
639 helpstring("Definition of interface Folder"), | |
640 oleautomation, | |
641 dual, | |
642 odl, | |
643 ] | |
644 interface Folder : IDispatch | |
645 { | |
646 //Properties | |
647 [id(0), propget, helpstring("Get the display name for the window")] | |
648 HRESULT Title([out, retval] BSTR *pbs); | |
649 | |
650 [propget, helpstring("Get Application object")] | |
651 HRESULT Application ([out, retval] IDispatch **ppid); | |
652 | |
653 [propget, helpstring("Get Parent object")] | |
654 HRESULT Parent([out, retval] IDispatch **ppid); | |
655 | |
656 [propget, helpstring("Get Parent object")] | |
657 HRESULT ParentFolder([out, retval] Folder **ppsf); | |
658 | |
659 //Methods | |
660 [helpstring("The collection of Items in folder")] | |
661 HRESULT Items([out, retval] FolderItems **ppid); | |
662 | |
663 [helpstring("Parse the name to get an item.")] | |
664 HRESULT ParseName([in] BSTR bName, [out, retval] FolderItem **ppid); | |
665 | |
666 [helpstring("Create a new sub folder in this folder.")] | |
667 HRESULT NewFolder([in] BSTR bName, [in, optional] VARIANT vOptions); | |
668 | |
669 [helpstring("Move Items to this folder.")] | |
670 HRESULT MoveHere([in] VARIANT vItem, [in, optional] VARIANT vOptions); | |
671 | |
672 [helpstring("Copy Items to this folder.")] | |
673 HRESULT CopyHere([in] VARIANT vItem, [in, optional] VARIANT vOptions); | |
674 | |
675 [helpstring("Get the details about an item.")] | |
676 HRESULT GetDetailsOf([in] VARIANT vItem, [in] int iColumn, [out, retval]BSTR *pbs); | |
677 } | |
678 | |
679 [ | |
680 uuid(E7A1AF80-4D96-11CF-960C-0080C7F4EE85), // IID_IShellFolderViewDual | |
681 helpstring("definition of interface IShellFolderViewDual"), | |
682 oleautomation, | |
683 hidden, | |
684 dual, | |
685 odl, | |
686 ] | |
687 interface IShellFolderViewDual : IDispatch | |
688 { | |
689 [propget, helpstring("Get Application object")] | |
690 HRESULT Application([out, retval] IDispatch **ppid); | |
691 | |
692 [propget, helpstring("Get Parent object")] | |
693 HRESULT Parent([out, retval] IDispatch **ppid); | |
694 | |
695 [propget, helpstring("Get the folder being viewed")] | |
696 HRESULT Folder([out, retval] Folder **ppid); | |
697 | |
698 [helpstring("The collection of Selected Items in folder")] | |
699 HRESULT SelectedItems([out, retval] FolderItems **ppid); | |
700 | |
701 [propget, helpstring("The currently focused item in the folder")] | |
702 HRESULT FocusedItem([out, retval] FolderItem **ppid); | |
703 | |
704 [helpstring("Select the item")] | |
705 HRESULT SelectItem([in]VARIANT *pvfi, [in] int dwFlags); | |
706 | |
707 [helpstring("Show items menu and return command selected")] | |
708 HRESULT PopupItemMenu([in]FolderItem *pfi, [in, optional]VARIANT vx, [in, optional]VARIANT vy, [out, retval] BSTR *pbs); | |
709 | |
710 [propget, helpstring("Returns the scripting automation model."), helpcontext(0x0000)] | |
711 HRESULT Script([out,retval] IDispatch** ppDisp); | |
712 | |
713 [propget, helpstring("Returns the view options for showing a folder."), helpcontext(0x0000)] | |
714 HRESULT ViewOptions([out,retval] long * plViewOptions); | |
715 } | |
716 | |
717 [ | |
718 uuid(62112AA1-EBE4-11cf-A5FB-0020AFE7292D), // CLSID_ShellFolderView | |
719 helpstring("Shell Folder View Object") | |
720 ] | |
721 coclass ShellFolderView | |
722 { | |
723 [default] interface IShellFolderViewDual; | |
724 [source,default] dispinterface DShellFolderViewEvents; | |
725 } | |
726 | |
727 typedef | |
728 [ | |
729 uuid(742A99A0-C77E-11D0-A32C-00A0C91EEDBA), | |
730 helpstring("Constants for ViewOptions") | |
731 ] | |
732 enum ShellFolderViewOptions { | |
733 [helpstring("Show All Objects")] SFVVO_SHOWALLOBJECTS = 0x00000001, | |
734 [helpstring("Show File Extensions")] SFVVO_SHOWEXTENSIONS = 0x00000002, | |
735 [helpstring("Color encode Compressed files")] SFVVO_SHOWCOMPCOLOR = 0x00000008, | |
736 [helpstring("Show System Files")] SFVVO_SHOWSYSFILES = 0x00000020, | |
737 [helpstring("Use Windows 95 UI settings")] SFVVO_WIN95CLASSIC = 0x00000040, | |
738 [helpstring("User needs to double click in web View")] SFVVO_DOUBLECLICKINWEBVIEW = 0x00000080, | |
739 [helpstring("Is Desktop HTML enabled")] SFVVO_DESKTOPHTML = 0x00000200, | |
740 } ShellFolderViewOptions; | |
741 | |
742 [ | |
743 uuid(D8F015C0-C278-11CE-A49E-444553540000), // IID_IShellDispatch | |
744 helpstring("Definition of interface IShellDispatch"), | |
745 oleautomation, | |
746 hidden, | |
747 dual, | |
748 odl, | |
749 ] | |
750 interface IShellDispatch : IDispatch | |
751 { | |
752 [propget, helpstring("Get Application object")] | |
753 HRESULT Application ([out, retval] IDispatch **ppid); | |
754 | |
755 [propget, helpstring("Get Parent object")] | |
756 HRESULT Parent([out, retval] IDispatch **ppid); | |
757 | |
758 //========================================================= | |
759 // Name Space methods and properties | |
760 | |
761 [helpstring("Enum the contents of a folder")] | |
762 HRESULT NameSpace([in] VARIANT vDir, [out, retval] Folder **ppsdf); | |
763 | |
764 [helpstring("Browse the name space for a Folder")] | |
765 HRESULT BrowseForFolder([in] long Hwnd, | |
766 [in] BSTR Title, | |
767 [in] long Options, | |
768 [in,optional] VARIANT RootFolder, | |
769 [out, retval] FOLDER **ppsdf); | |
770 | |
771 [helpstring("The collection of open folder windows")] | |
772 HRESULT Windows([out, retval] IDispatch **ppid); | |
773 | |
774 [helpstring("Open a folder")] | |
775 HRESULT Open([in] VARIANT vDir); | |
776 | |
777 [helpstring("Explore a folder")] | |
778 HRESULT Explore([in] VARIANT vDir); | |
779 | |
780 [helpstring("Minimize all windows")] | |
781 HRESULT MinimizeAll(void); | |
782 | |
783 [helpstring("Undo Minimize All")] | |
784 HRESULT UndoMinimizeALL(void); | |
785 | |
786 [helpstring("Bring up the file run")] | |
787 HRESULT FileRun(void); | |
788 | |
789 [helpstring("Cascade Windows")] | |
790 HRESULT CascadeWindows(void); | |
791 | |
792 [helpstring("Tile windows vertically")] | |
793 HRESULT TileVertically(void); | |
794 | |
795 [helpstring("Tile windows horizontally")] | |
796 HRESULT TileHorizontally(void); | |
797 | |
798 [helpstring("Exit Windows")] | |
799 HRESULT ShutdownWindows(void); | |
800 | |
801 [helpstring("Suspend the pc")] | |
802 HRESULT Suspend(void); | |
803 | |
804 [helpstring("Eject the pc")] | |
805 HRESULT EjectPC(void); | |
806 | |
807 [helpstring("Bring up the Set time dialog")] | |
808 HRESULT SetTime(void); | |
809 | |
810 [helpstring("Handle Tray properties")] | |
811 HRESULT TrayProperties(void); | |
812 | |
813 [helpstring("Display shell help")] | |
814 HRESULT Help(void); | |
815 | |
816 [helpstring("Find Files")] | |
817 HRESULT FindFiles(void); | |
818 | |
819 [helpstring("Find a computer")] | |
820 HRESULT FindComputer(void); | |
821 | |
822 [helpstring("Refresh the menu")] | |
823 HRESULT RefreshMenu(void); | |
824 | |
825 [helpstring("Run a controlpanelItem")] | |
826 HRESULT ControlPanelItem([in] BSTR szDir); | |
827 } | |
828 | |
829 [ | |
830 uuid(13709620-C279-11CE-A49E-444553540000), // CLSID_Shell | |
831 helpstring("Shell Object Type Information") | |
832 ] | |
833 coclass Shell | |
834 { | |
835 [default] interface IShellDispatch; | |
836 } | |
837 | |
838 [ | |
839 uuid(0A89A860-D7B1-11CE-8350-444553540000), // CLSID_ShellDispatchInproc | |
840 helpstring("ShellDispatch Load in Shell Context"), | |
841 hidden | |
842 ] | |
843 coclass ShellDispatchInproc | |
844 { | |
845 interface IUnknown; | |
846 } | |
847 | |
848 [ | |
849 uuid(1820FED0-473E-11D0-A96C-00C04FD705A2), // CLSID_WebViewFolderContents | |
850 hidden | |
851 ] | |
852 coclass WebViewFolderContents | |
853 { | |
854 [default] interface IShellFolderViewDual; | |
855 [source,default] dispinterface DShellFolderViewEvents; | |
856 } | |
857 | |
858 typedef | |
859 [ | |
860 uuid(CA31EA20-48D0-11CF-8350-444553540000), | |
861 helpstring("Constants for Special Folders for open/Explore") | |
862 ] | |
863 enum ShellSpecialFolderConstants { | |
864 [helpstring("Special Folder DESKTOP")] ssfDESKTOP = 0x0000, | |
865 [helpstring("Special Folder PROGRAMS")] ssfPROGRAMS = 0x0002, | |
866 [helpstring("Special Folder CONTROLS")] ssfCONTROLS = 0x0003, | |
867 [helpstring("Special Folder PRINTERS")] ssfPRINTERS = 0x0004, | |
868 [helpstring("Special Folder PERSONAL")] ssfPERSONAL = 0x0005, | |
869 [helpstring("Special Folder FAVORITES")] ssfFAVORITES = 0x0006, | |
870 [helpstring("Special Folder STARTUP")] ssfSTARTUP = 0x0007, | |
871 [helpstring("Special Folder RECENT")] ssfRECENT = 0x0008, | |
872 [helpstring("Special Folder SENDTO")] ssfSENDTO = 0x0009, | |
873 [helpstring("Special Folder BITBUCKET")] ssfBITBUCKET = 0x000a, | |
874 [helpstring("Special Folder STARTMENU")] ssfSTARTMENU = 0x000b, | |
875 [helpstring("Special Folder DESKTOPDIRECTORY")] ssfDESKTOPDIRECTORY = 0x0010, | |
876 [helpstring("Special Folder DRIVES")] ssfDRIVES = 0x0011, | |
877 [helpstring("Special Folder NETWORK")] ssfNETWORK = 0x0012, | |
878 [helpstring("Special Folder NETHOOD")] ssfNETHOOD = 0x0013, | |
879 [helpstring("Special Folder FONTS")] ssfFONTS = 0x0014, | |
880 [helpstring("Special Folder TEMPLATES")] ssfTEMPLATES = 0x0015, | |
881 } ShellSpecialFolderConstants; | |
882 | |
883 [ | |
884 uuid(729FE2F8-1EA8-11d1-8F85-00C04FC2FBE1), // IID_IShellUIHelper | |
885 helpstring("Shell UI Helper Control Interface"), | |
886 oleautomation, dual | |
887 ] | |
888 interface IShellUIHelper : IDispatch | |
889 { | |
890 [hidden, id(DISPID_RESETFIRSTBOOTMODE)] HRESULT ResetFirstBootMode(); | |
891 [hidden, id(DISPID_RESETSAFEMODE)] HRESULT ResetSafeMode(); | |
892 [hidden, id(DISPID_REFRESHOFFLINEDESKTOP)] HRESULT RefreshOfflineDesktop(); | |
893 [id(DISPID_ADDFAVORITE)] HRESULT AddFavorite([in] BSTR URL, [optional, in] VARIANT *Title); | |
894 [id(DISPID_ADDCHANNEL)] HRESULT AddChannel([in] BSTR URL); | |
895 [id(DISPID_ADDDESKTOPCOMPONENT)] HRESULT AddDesktopComponent([in] BSTR URL, [in] BSTR Type, | |
896 [optional, in] VARIANT *Left, | |
897 [optional, in] VARIANT *Top, | |
898 [optional, in] VARIANT *Width, | |
899 [optional, in] VARIANT *Height); | |
900 [id(DISPID_ISSUBSCRIBED)] HRESULT IsSubscribed([in] BSTR URL, [out,retval] VARIANT_BOOL* pBool); | |
901 } | |
902 [ | |
903 uuid(64AB4BB7-111E-11d1-8F79-00C04FC2FBE1) // CLSID_ShellUIHelper | |
904 ] | |
905 coclass ShellUIHelper | |
906 { | |
907 [default] interface IShellUIHelper; | |
908 } | |
909 */ | |
910 } // extern (Windows) | |
911 |