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