wshom.ocx: Added IWshShortcut stub.
[wine/multimedia.git] / dlls / wshom.ocx / tests / wshom.idl
bloba89b3fcb8aa47b34a35353cf3a5132777ae6f37b
1 /*
2 * Copyright 2011 Jacek Caban for CodeWeavers
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 import "oaidl.idl";
20 cpp_quote("#undef ExpandEnvironmentStrings")
23 helpstring("Windows Script Host Object Model"),
24 uuid(f935dc20-1cf0-11d0-adb9-00c04fd58a0b),
25 version(1.0)
27 library IWshRuntimeLibrary
29 importlib("stdole2.tlb");
31 typedef enum {
32 WshRunning = 0,
33 WshFinished,
34 WshFailed
35 } WshExecStatus;
37 typedef enum {
38 UnknownType = 0,
39 Removable,
40 Fixed,
41 Remote,
42 CDRom,
43 RamDisk
44 } DriveTypeConst;
46 typedef enum {
47 Normal = 0x000,
48 ReadOnly = 0x001,
49 Hidden = 0x002,
50 System = 0x004,
51 Volume = 0x008,
52 Directory = 0x010,
53 Archive = 0x020,
54 Alias = 0x400,
55 Compressed = 0x800
56 } FileAttribute;
58 typedef enum {
59 ForReading = 0x1,
60 ForWriting = 0x2,
61 ForAppending = 0x8
62 } IOMode;
64 typedef enum {
65 TristateTrue = -1,
66 TristateFalse = 0,
67 TristateUseDefault = -2,
68 TristateMixed = -2
69 } Tristate;
71 interface IFolder;
72 interface IFolderCollection;
75 uuid(53bad8c1-e718-11cf-893d-00a0c9054228),
76 odl,
77 hidden,
78 dual,
79 nonextensible,
80 oleautomation
82 interface ITextStream : IDispatch {
83 [id(0x2710), propget]
84 HRESULT Line([out, retval] long* Line);
86 [id(0xfffffdef), propget]
87 HRESULT Column([out, retval] long* Column);
89 [id(0x2712), propget]
90 HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS);
92 [id(0x2713), propget]
93 HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL);
95 [id(0x2714)]
96 HRESULT Read([in] long Characters, [out, retval] BSTR* Text);
98 [id(0x2715)]
99 HRESULT ReadLine([out, retval] BSTR* Text);
101 [id(0x2716)]
102 HRESULT ReadAll([out, retval] BSTR* Text);
104 [id(0x2717)]
105 HRESULT Write([in] BSTR Text);
107 [id(0x2718)]
108 HRESULT WriteLine([in, optional, defaultvalue("")] BSTR Text);
110 [id(0x2719)]
111 HRESULT WriteBlankLines([in] long Lines);
113 [id(0x271a)]
114 HRESULT Skip([in] long Characters);
116 [id(0x271b)]
117 HRESULT SkipLine();
119 [id(0x271c)]
120 HRESULT Close();
124 uuid(c7c3f5a0-88a3-11d0-abcb-00a0c90fffc0),
125 odl,
126 hidden,
127 dual,
128 nonextensible,
129 oleautomation
131 interface IDrive : IDispatch {
132 [id(DISPID_VALUE), propget]
133 HRESULT Path([out, retval] BSTR* path);
135 [id(0x2710), propget]
136 HRESULT DriveLetter([out, retval] BSTR* letter);
138 [id(0x2711), propget]
139 HRESULT ShareName([out, retval] BSTR* ShareName);
141 [id(0x2712), propget]
142 HRESULT DriveType([out, retval] DriveTypeConst* type);
144 [id(0x2713), propget]
145 HRESULT RootFolder([out, retval] IFolder** folder);
147 [id(0x2715), propget]
148 HRESULT AvailableSpace([out, retval] VARIANT* Avail);
150 [id(0x2714), propget]
151 HRESULT FreeSpace([out, retval] VARIANT* pFree);
153 [id(0x2716), propget]
154 HRESULT TotalSize([out, retval] VARIANT* Total);
156 [id(0x2717), propget]
157 HRESULT VolumeName([out, retval] BSTR* Name);
159 [id(0x2717), propput]
160 HRESULT VolumeName([in] BSTR Name);
162 [id(0x2718), propget]
163 HRESULT FileSystem([out, retval] BSTR* pFileSystem);
165 [id(0x2719), propget]
166 HRESULT SerialNumber([out, retval] long* SerialNumber);
168 [id(0x271a), propget]
169 HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady);
173 uuid(c7c3f5a4-88a3-11d0-abcb-00a0c90fffc0),
174 odl,
175 hidden,
176 dual,
177 nonextensible,
178 oleautomation
180 interface IFile : IDispatch {
181 [id(DISPID_VALUE), propget]
182 HRESULT Path([out, retval] BSTR* path);
184 [id(0x03e8), propget]
185 HRESULT Name([out, retval] BSTR* Name);
187 [id(0x03e8), propput]
188 HRESULT Name([in] BSTR Name);
190 [id(0x03ea), propget]
191 HRESULT ShortPath([out, retval] BSTR* path);
193 [id(0x03e9), propget]
194 HRESULT ShortName([out, retval] BSTR* Name);
196 [id(0x03ec), propget]
197 HRESULT Drive([out, retval] IDrive** drive);
199 [id(0x03ed), propget]
200 HRESULT ParentFolder([out, retval] IFolder** folder);
202 [id(0x03eb), propget]
203 HRESULT Attributes([out, retval] FileAttribute* attr);
205 [id(0x03eb), propput]
206 HRESULT Attributes([in] FileAttribute attr);
208 [id(0x03ee), propget]
209 HRESULT DateCreated([out, retval] DATE* date);
211 [id(0x03ef), propget]
212 HRESULT DateLastModified([out, retval] DATE* date);
214 [id(0x03f0), propget]
215 HRESULT DateLastAccessed([out, retval] DATE* date);
217 [id(0x03f1), propget]
218 HRESULT Size([out, retval] VARIANT* Size);
220 [id(0x03f2), propget]
221 HRESULT Type([out, retval] BSTR* Type);
223 [id(0x04b0)]
224 HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL Force);
226 [id(0x04b2)]
227 HRESULT Copy(
228 [in] BSTR Destination,
229 [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
231 [id(0x04b4)]
232 HRESULT Move([in] BSTR Destination);
234 [id(0x044c)]
235 HRESULT OpenAsTextStream(
236 [in, optional, defaultvalue(1)] IOMode IOMode,
237 [in, optional, defaultvalue(0)] Tristate Format,
238 [out, retval] ITextStream** ppts);
242 uuid(c7c3f5a5-88a3-11d0-abcb-00a0c90fffc0),
243 odl,
244 hidden,
245 dual,
246 nonextensible,
247 oleautomation
249 interface IFileCollection : IDispatch {
250 [id(DISPID_VALUE), propget]
251 HRESULT Item(
252 [in] VARIANT Key,
253 [out, retval] IFile** ppfile);
254 [id(DISPID_NEWENUM), propget, restricted, hidden]
255 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
256 [id(1), propget]
257 HRESULT Count([out, retval] long* count);
261 uuid(c7c3f5a2-88a3-11d0-abcb-00a0c90fffc0),
262 odl,
263 hidden,
264 dual,
265 nonextensible,
266 oleautomation
268 interface IFolder : IDispatch {
269 [id(DISPID_VALUE), propget]
270 HRESULT Path([out, retval] BSTR* path);
272 [id(0x03e8), propget]
273 HRESULT Name([out, retval] BSTR* name);
275 [id(0x03e8), propput]
276 HRESULT Name([in] BSTR name);
278 [id(0x03ea), propget]
279 HRESULT ShortPath([out, retval] BSTR* path);
281 [id(0x03e9), propget]
282 HRESULT ShortName([out, retval] BSTR* name);
284 [id(0x03ec), propget]
285 HRESULT Drive([out, retval] IDrive** drive);
287 [id(0x03ed), propget]
288 HRESULT ParentFolder([out, retval] IFolder** folder);
290 [id(0x03eb), propget]
291 HRESULT Attributes([out, retval] FileAttribute* attr);
293 [id(0x03eb), propput]
294 HRESULT Attributes([in] FileAttribute attr);
296 [id(0x03ee), propget]
297 HRESULT DateCreated([out, retval] DATE* date);
299 [id(0x03ef), propget]
300 HRESULT DateLastModified([out, retval] DATE* date);
302 [id(0x03f0), propget]
303 HRESULT DateLastAccessed([out, retval] DATE* date);
305 [id(0x03f2), propget]
306 HRESULT Type([out, retval] BSTR* type);
308 [id(0x04b1)]
309 HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL force);
311 [id(0x04b3)]
312 HRESULT Copy(
313 [in] BSTR Destination,
314 [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
316 [id(0x04b5)]
317 HRESULT Move([in] BSTR Destination);
319 [id(0x2710), propget]
320 HRESULT IsRootFolder([out, retval] VARIANT_BOOL* root);
322 [id(0x03f1), propget]
323 HRESULT Size([out, retval] VARIANT* size);
325 [id(0x2711), propget]
326 HRESULT SubFolders([out, retval] IFolderCollection** folders);
328 [id(0x2712), propget]
329 HRESULT Files([out, retval] IFileCollection** files);
331 [id(0x044d)]
332 HRESULT CreateTextFile(
333 [in] BSTR FileName,
334 [in, optional, defaultvalue(-1)] VARIANT_BOOL Overwrite,
335 [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode,
336 [out, retval] ITextStream** ppts);
340 uuid(c7c3f5a3-88a3-11d0-abcb-00a0c90fffc0),
341 odl,
342 hidden,
343 dual,
344 nonextensible,
345 oleautomation
347 interface IFolderCollection : IDispatch {
348 [id(2)]
349 HRESULT Add(
350 [in] BSTR Name,
351 [out, retval] IFolder** folder);
353 [id(DISPID_VALUE), propget]
354 HRESULT Item(
355 [in] VARIANT Key,
356 [out, retval] IFolder** folder);
358 [id(DISPID_NEWENUM), propget, restricted, hidden]
359 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
361 [id(1), propget]
362 HRESULT Count([out, retval] long* count);
366 uuid(f935dc27-1cf0-11d0-adb9-00c04fd58a0b),
367 odl,
368 dual,
369 oleautomation
371 interface IWshCollection : IDispatch {
372 [id(DISPID_VALUE)]
373 HRESULT Item(
374 [in] VARIANT *Index,
375 [out, retval] VARIANT *out_Value);
377 [id(1)]
378 HRESULT Count([out, retval] long *out_Count);
380 [id(2), propget]
381 HRESULT length([out, retval] long *out_Count);
383 [id(DISPID_NEWENUM)]
384 HRESULT _NewEnum([out, retval] IUnknown *out_Enum);
388 uuid(f935dc29-1cf0-11d0-adb9-00c04fd58a0b),
389 odl,
390 dual,
391 oleautomation
393 interface IWshEnvironment : IDispatch {
394 [id(DISPID_VALUE), propget]
395 HRESULT Item(
396 [in] BSTR Name,
397 [out, retval] BSTR *out_Value);
399 [id(DISPID_VALUE), propput]
400 HRESULT Item(
401 [in] BSTR Name,
402 [in] BSTR out_Value);
404 [id(1)]
405 HRESULT Count([out, retval] long *out_Count);
407 [id(2), propget]
408 HRESULT length([out, retval] long *out_Count);
410 [id(DISPID_NEWENUM)]
411 HRESULT _NewEnum([out, retval] IUnknown *out_Enum);
413 [id(0x03e9)]
414 HRESULT Remove([in] BSTR Name);
418 uuid(08fed190-be19-11d3-a28b-00104bd35090),
419 odl,
420 dual,
421 oleautomation
423 interface IWshExec : IDispatch {
424 [id(0x0001), propget]
425 HRESULT Status([out, retval] WshExecStatus* Status);
427 [id(0x0003), propget]
428 HRESULT StdIn([out, retval] ITextStream** stream);
430 [id(0x0004), propget]
431 HRESULT StdOut([out, retval] ITextStream** stream);
433 [id(0x0005), propget]
434 HRESULT StdErr([out, retval] ITextStream** stream);
436 [id(0x0006), propget]
437 HRESULT ProcessID([out, retval] long* pid);
439 [id(0x0007), propget]
440 HRESULT ExitCode([out, retval] long* ExitCode);
442 [id(0x0008)]
443 HRESULT Terminate();
447 uuid(f935dc23-1cf0-11d0-adb9-00c04fd58a0b),
448 odl,
449 dual,
450 oleautomation
452 interface IWshShortcut : IDispatch {
453 [id(DISPID_VALUE), propget]
454 HRESULT FullName([out, retval] BSTR* name);
456 [id(0x03e8), propget]
457 HRESULT Arguments([out, retval] BSTR* Arguments);
459 [id(0x03e8), propput]
460 HRESULT Arguments([in] BSTR Arguments);
462 [id(0x03e9), propget]
463 HRESULT Description([out, retval] BSTR* Description);
465 [id(0x03e9), propput]
466 HRESULT Description([in] BSTR Description);
468 [id(0x03ea), propget]
469 HRESULT Hotkey([out, retval] BSTR* HotKey);
471 [id(0x03ea), propput]
472 HRESULT Hotkey([in] BSTR HotKey);
474 [id(0x03eb), propget]
475 HRESULT IconLocation([out, retval] BSTR* IconPath);
477 [id(0x03eb), propput]
478 HRESULT IconLocation([in] BSTR IconPath);
480 [id(0x03ec), propput]
481 HRESULT RelativePath([in] BSTR rhs);
483 [id(0x03ed), propget]
484 HRESULT TargetPath([out, retval] BSTR* Path);
486 [id(0x03ed), propput]
487 HRESULT TargetPath([in] BSTR Path);
489 [id(0x03ee), propget]
490 HRESULT WindowStyle([out, retval] int* ShowCmd);
492 [id(0x03ee), propput]
493 HRESULT WindowStyle([in] int ShowCmd);
495 [id(0x03ef), propget]
496 HRESULT WorkingDirectory([out, retval] BSTR* WorkingDirectory);
498 [id(0x03ef), propput]
499 HRESULT WorkingDirectory([in] BSTR WorkingDirectory);
501 [id(0x07d0), hidden]
502 HRESULT Load([in] BSTR PathLink);
504 [id(0x07d1)]
505 HRESULT Save();
509 uuid(f935dc21-1cf0-11d0-adb9-00c04fd58a0b),
510 odl,
511 dual,
512 oleautomation,
513 hidden
515 interface IWshShell : IDispatch {
516 [id(0x0064), propget]
517 HRESULT SpecialFolders([out, retval] IWshCollection** out_Folders);
519 [id(0x00c8), propget]
520 HRESULT Environment(
521 [in, optional] VARIANT* Type,
522 [out, retval] IWshEnvironment** out_Env);
524 [id(0x03e8)]
525 HRESULT Run(
526 [in] BSTR Command,
527 [in, optional] VARIANT* WindowStyle,
528 [in, optional] VARIANT* WaitOnReturn,
529 [out, retval] int* out_ExitCode);
531 [id(0x03e9)]
532 HRESULT Popup(
533 [in] BSTR Text,
534 [in, optional] VARIANT* SecondsToWait,
535 [in, optional] VARIANT* Title,
536 [in, optional] VARIANT* Type,
537 [out, retval] int* out_Button);
539 [id(0x03ea)]
540 HRESULT CreateShortcut(
541 [in] BSTR PathLink,
542 [out, retval] IDispatch** out_Shortcut);
544 [id(0x03ee)]
545 HRESULT ExpandEnvironmentStrings(
546 [in] BSTR Src,
547 [out, retval] BSTR* out_Dst);
549 [id(0x07d0)]
550 HRESULT RegRead(
551 [in] BSTR Name,
552 [out, retval] VARIANT* out_Value);
554 [id(0x07d1)]
555 HRESULT RegWrite(
556 [in] BSTR Name,
557 [in] VARIANT* Value,
558 [in, optional] VARIANT* Type);
560 [id(0x07d2)]
561 HRESULT RegDelete([in] BSTR Name);
565 uuid(24be5a30-edfe-11d2-b933-00104b365c9f),
566 odl,
567 dual,
568 oleautomation,
569 hidden
571 interface IWshShell2 : IWshShell {
572 [id(0x0bb8)]
573 HRESULT LogEvent(
574 [in] VARIANT* Type,
575 [in] BSTR Message,
576 [in, optional, defaultvalue("")] BSTR Target,
577 [out, retval] VARIANT_BOOL* out_Success);
579 [id(0x0bc2)]
580 HRESULT AppActivate(
581 [in] VARIANT* App,
582 [in, optional] VARIANT* Wait,
583 [out, retval] VARIANT_BOOL* out_Success);
585 [id(0x0bc3)]
586 HRESULT SendKeys(
587 [in] BSTR Keys,
588 [in, optional] VARIANT* Wait);
592 uuid(41904400-be18-11d3-a28b-00104bd35090),
593 odl,
594 dual,
595 oleautomation
597 interface IWshShell3 : IWshShell2 {
598 [id(0x0bc4)]
599 HRESULT Exec(
600 [in] BSTR Command,
601 [out, retval] IWshExec** out_Exec);
603 [id(0x0bc5), propget]
604 HRESULT CurrentDirectory([out, retval] BSTR* out_Directory);
606 [id(0x0bc5), propput]
607 HRESULT CurrentDirectory([in] BSTR out_Directory);
611 uuid(24be5a31-edfe-11d2-b933-00104b365c9f),
612 odl,
613 dual,
614 oleautomation
616 interface IWshNetwork2 : IDispatch {
617 [id(0x60020000), propget]
618 HRESULT UserDomain([out, retval] BSTR *out_UserDomain);
622 helpstring("Windows Script Host Shell Object"),
623 uuid(f935dc22-1cf0-11d0-adb9-00c04fd58a0b),
624 threading(apartment),
625 progid("WScript.Shell.1"),
626 vi_progid("WScript.Shell")
628 coclass IWshShell_Class {
629 [default] interface IWshShell3;
633 helpstring("Windows Script Host Shell Object"),
634 uuid(72c24dd5-d70a-438b-8a42-98424b88afb8),
635 threading(apartment),
636 progid("WScript.Shell.1"),
637 vi_progid("WScript.Shell")
639 coclass WshShell {
640 [default] interface IWshShell3;
644 helpstring("Windows Script Host Network Object"),
645 uuid(f935dc26-1cf0-11d0-adb9-00c04fd58a0b),
646 threading(apartment),
647 progid("WScript.Network.1"),
648 vi_progid("WScript.Network")
650 coclass IWshNetwork_Class {
651 [default] interface IWshNetwork2;
655 helpstring("Windows Script Host Network Object"),
656 uuid(093ff999-1ea0-4079-9525-9614c3504b74),
657 threading(apartment),
658 progid("WScript.Network.1"),
659 vi_progid("WScript.Network")
661 coclass WshNetwork {
662 [default] interface IWshNetwork2;