[WSHOM.OCX] Sync with Wine Staging 4.18. CORE-16441
[reactos.git] / dll / win32 / wshom.ocx / wshom.idl
1 /*
2 * Copyright 2011 Jacek Caban for CodeWeavers
3 *
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.
8 *
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.
13 *
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
17 */
18
19 #pragma makedep regtypelib
20
21 import "oaidl.idl";
22 cpp_quote("#undef ExpandEnvironmentStrings")
23
24 [
25 helpstring("Windows Script Host Object Model"),
26 uuid(f935dc20-1cf0-11d0-adb9-00c04fd58a0b),
27 version(1.0)
28 ]
29 library IWshRuntimeLibrary
30 {
31 importlib("stdole2.tlb");
32
33 typedef enum {
34 WshRunning = 0,
35 WshFinished,
36 WshFailed
37 } WshExecStatus;
38
39 typedef enum {
40 UnknownType = 0,
41 Removable,
42 Fixed,
43 Remote,
44 CDRom,
45 RamDisk
46 } DriveTypeConst;
47
48 typedef enum {
49 Normal = 0x000,
50 ReadOnly = 0x001,
51 Hidden = 0x002,
52 System = 0x004,
53 Volume = 0x008,
54 Directory = 0x010,
55 Archive = 0x020,
56 Alias = 0x400,
57 Compressed = 0x800
58 } FileAttribute;
59
60 typedef enum {
61 ForReading = 0x1,
62 ForWriting = 0x2,
63 ForAppending = 0x8
64 } IOMode;
65
66 typedef enum {
67 TristateTrue = -1,
68 TristateFalse = 0,
69 TristateUseDefault = -2,
70 TristateMixed = -2
71 } Tristate;
72
73 interface IFolder;
74 interface IFolderCollection;
75
76 [
77 uuid(53bad8c1-e718-11cf-893d-00a0c9054228),
78 odl,
79 hidden,
80 dual,
81 nonextensible,
82 oleautomation
83 ]
84 interface ITextStream : IDispatch {
85 [id(0x2710), propget]
86 HRESULT Line([out, retval] long* Line);
87
88 [id(0xfffffdef), propget]
89 HRESULT Column([out, retval] long* Column);
90
91 [id(0x2712), propget]
92 HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS);
93
94 [id(0x2713), propget]
95 HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL);
96
97 [id(0x2714)]
98 HRESULT Read([in] long Characters, [out, retval] BSTR* Text);
99
100 [id(0x2715)]
101 HRESULT ReadLine([out, retval] BSTR* Text);
102
103 [id(0x2716)]
104 HRESULT ReadAll([out, retval] BSTR* Text);
105
106 [id(0x2717)]
107 HRESULT Write([in] BSTR Text);
108
109 [id(0x2718)]
110 HRESULT WriteLine([in, defaultvalue("")] BSTR Text);
111
112 [id(0x2719)]
113 HRESULT WriteBlankLines([in] long Lines);
114
115 [id(0x271a)]
116 HRESULT Skip([in] long Characters);
117
118 [id(0x271b)]
119 HRESULT SkipLine();
120
121 [id(0x271c)]
122 HRESULT Close();
123 };
124
125 [
126 uuid(c7c3f5a0-88a3-11d0-abcb-00a0c90fffc0),
127 odl,
128 hidden,
129 dual,
130 nonextensible,
131 oleautomation
132 ]
133 interface IDrive : IDispatch {
134 [id(DISPID_VALUE), propget]
135 HRESULT Path([out, retval] BSTR* path);
136
137 [id(0x2710), propget]
138 HRESULT DriveLetter([out, retval] BSTR* letter);
139
140 [id(0x2711), propget]
141 HRESULT ShareName([out, retval] BSTR* ShareName);
142
143 [id(0x2712), propget]
144 HRESULT DriveType([out, retval] DriveTypeConst* type);
145
146 [id(0x2713), propget]
147 HRESULT RootFolder([out, retval] IFolder** folder);
148
149 [id(0x2715), propget]
150 HRESULT AvailableSpace([out, retval] VARIANT* Avail);
151
152 [id(0x2714), propget]
153 HRESULT FreeSpace([out, retval] VARIANT* pFree);
154
155 [id(0x2716), propget]
156 HRESULT TotalSize([out, retval] VARIANT* Total);
157
158 [id(0x2717), propget]
159 HRESULT VolumeName([out, retval] BSTR* Name);
160
161 [id(0x2717), propput]
162 HRESULT VolumeName([in] BSTR Name);
163
164 [id(0x2718), propget]
165 HRESULT FileSystem([out, retval] BSTR* pFileSystem);
166
167 [id(0x2719), propget]
168 HRESULT SerialNumber([out, retval] long* SerialNumber);
169
170 [id(0x271a), propget]
171 HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady);
172 };
173
174 [
175 uuid(c7c3f5a4-88a3-11d0-abcb-00a0c90fffc0),
176 odl,
177 hidden,
178 dual,
179 nonextensible,
180 oleautomation
181 ]
182 interface IFile : IDispatch {
183 [id(DISPID_VALUE), propget]
184 HRESULT Path([out, retval] BSTR* path);
185
186 [id(0x03e8), propget]
187 HRESULT Name([out, retval] BSTR* Name);
188
189 [id(0x03e8), propput]
190 HRESULT Name([in] BSTR Name);
191
192 [id(0x03ea), propget]
193 HRESULT ShortPath([out, retval] BSTR* path);
194
195 [id(0x03e9), propget]
196 HRESULT ShortName([out, retval] BSTR* Name);
197
198 [id(0x03ec), propget]
199 HRESULT Drive([out, retval] IDrive** drive);
200
201 [id(0x03ed), propget]
202 HRESULT ParentFolder([out, retval] IFolder** folder);
203
204 [id(0x03eb), propget]
205 HRESULT Attributes([out, retval] FileAttribute* attr);
206
207 [id(0x03eb), propput]
208 HRESULT Attributes([in] FileAttribute attr);
209
210 [id(0x03ee), propget]
211 HRESULT DateCreated([out, retval] DATE* date);
212
213 [id(0x03ef), propget]
214 HRESULT DateLastModified([out, retval] DATE* date);
215
216 [id(0x03f0), propget]
217 HRESULT DateLastAccessed([out, retval] DATE* date);
218
219 [id(0x03f1), propget]
220 HRESULT Size([out, retval] VARIANT* Size);
221
222 [id(0x03f2), propget]
223 HRESULT Type([out, retval] BSTR* Type);
224
225 [id(0x04b0)]
226 HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL Force);
227
228 [id(0x04b2)]
229 HRESULT Copy(
230 [in] BSTR Destination,
231 [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
232
233 [id(0x04b4)]
234 HRESULT Move([in] BSTR Destination);
235
236 [id(0x044c)]
237 HRESULT OpenAsTextStream(
238 [in, defaultvalue(1)] IOMode IOMode,
239 [in, defaultvalue(0)] Tristate Format,
240 [out, retval] ITextStream** ppts);
241 };
242
243 [
244 uuid(c7c3f5a5-88a3-11d0-abcb-00a0c90fffc0),
245 odl,
246 hidden,
247 dual,
248 nonextensible,
249 oleautomation
250 ]
251 interface IFileCollection : IDispatch {
252 [id(DISPID_VALUE), propget]
253 HRESULT Item(
254 [in] VARIANT Key,
255 [out, retval] IFile** ppfile);
256 [id(DISPID_NEWENUM), propget, restricted, hidden]
257 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
258 [id(1), propget]
259 HRESULT Count([out, retval] long* count);
260 };
261
262 [
263 uuid(c7c3f5a2-88a3-11d0-abcb-00a0c90fffc0),
264 odl,
265 hidden,
266 dual,
267 nonextensible,
268 oleautomation
269 ]
270 interface IFolder : IDispatch {
271 [id(DISPID_VALUE), propget]
272 HRESULT Path([out, retval] BSTR* path);
273
274 [id(0x03e8), propget]
275 HRESULT Name([out, retval] BSTR* name);
276
277 [id(0x03e8), propput]
278 HRESULT Name([in] BSTR name);
279
280 [id(0x03ea), propget]
281 HRESULT ShortPath([out, retval] BSTR* path);
282
283 [id(0x03e9), propget]
284 HRESULT ShortName([out, retval] BSTR* name);
285
286 [id(0x03ec), propget]
287 HRESULT Drive([out, retval] IDrive** drive);
288
289 [id(0x03ed), propget]
290 HRESULT ParentFolder([out, retval] IFolder** folder);
291
292 [id(0x03eb), propget]
293 HRESULT Attributes([out, retval] FileAttribute* attr);
294
295 [id(0x03eb), propput]
296 HRESULT Attributes([in] FileAttribute attr);
297
298 [id(0x03ee), propget]
299 HRESULT DateCreated([out, retval] DATE* date);
300
301 [id(0x03ef), propget]
302 HRESULT DateLastModified([out, retval] DATE* date);
303
304 [id(0x03f0), propget]
305 HRESULT DateLastAccessed([out, retval] DATE* date);
306
307 [id(0x03f2), propget]
308 HRESULT Type([out, retval] BSTR* type);
309
310 [id(0x04b1)]
311 HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL force);
312
313 [id(0x04b3)]
314 HRESULT Copy(
315 [in] BSTR Destination,
316 [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
317
318 [id(0x04b5)]
319 HRESULT Move([in] BSTR Destination);
320
321 [id(0x2710), propget]
322 HRESULT IsRootFolder([out, retval] VARIANT_BOOL* root);
323
324 [id(0x03f1), propget]
325 HRESULT Size([out, retval] VARIANT* size);
326
327 [id(0x2711), propget]
328 HRESULT SubFolders([out, retval] IFolderCollection** folders);
329
330 [id(0x2712), propget]
331 HRESULT Files([out, retval] IFileCollection** files);
332
333 [id(0x044d)]
334 HRESULT CreateTextFile(
335 [in] BSTR FileName,
336 [in, defaultvalue(-1)] VARIANT_BOOL Overwrite,
337 [in, defaultvalue(0)] VARIANT_BOOL Unicode,
338 [out, retval] ITextStream** ppts);
339 };
340
341 [
342 uuid(c7c3f5a3-88a3-11d0-abcb-00a0c90fffc0),
343 odl,
344 hidden,
345 dual,
346 nonextensible,
347 oleautomation
348 ]
349 interface IFolderCollection : IDispatch {
350 [id(2)]
351 HRESULT Add(
352 [in] BSTR Name,
353 [out, retval] IFolder** folder);
354
355 [id(DISPID_VALUE), propget]
356 HRESULT Item(
357 [in] VARIANT Key,
358 [out, retval] IFolder** folder);
359
360 [id(DISPID_NEWENUM), propget, restricted, hidden]
361 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
362
363 [id(1), propget]
364 HRESULT Count([out, retval] long* count);
365 };
366
367 [
368 uuid(f935dc27-1cf0-11d0-adb9-00c04fd58a0b),
369 odl,
370 dual,
371 oleautomation
372 ]
373 interface IWshCollection : IDispatch {
374 [id(DISPID_VALUE)]
375 HRESULT Item(
376 [in] VARIANT *Index,
377 [out, retval] VARIANT *out_Value);
378
379 [id(1)]
380 HRESULT Count([out, retval] long *out_Count);
381
382 [id(2), propget]
383 HRESULT length([out, retval] long *out_Count);
384
385 [id(DISPID_NEWENUM)]
386 HRESULT _NewEnum([out, retval] IUnknown **out_Enum);
387 }
388
389 [
390 uuid(f935dc29-1cf0-11d0-adb9-00c04fd58a0b),
391 odl,
392 dual,
393 oleautomation
394 ]
395 interface IWshEnvironment : IDispatch {
396 [id(DISPID_VALUE), propget]
397 HRESULT Item(
398 [in] BSTR Name,
399 [out, retval] BSTR *out_Value);
400
401 [id(DISPID_VALUE), propput]
402 HRESULT Item(
403 [in] BSTR Name,
404 [in] BSTR Value);
405
406 [id(1)]
407 HRESULT Count([out, retval] long *out_Count);
408
409 [id(2), propget]
410 HRESULT length([out, retval] long *out_Count);
411
412 [id(DISPID_NEWENUM)]
413 HRESULT _NewEnum([out, retval] IUnknown **out_Enum);
414
415 [id(0x03e9)]
416 HRESULT Remove([in] BSTR Name);
417 }
418
419 [
420 uuid(08fed190-be19-11d3-a28b-00104bd35090),
421 odl,
422 dual,
423 oleautomation
424 ]
425 interface IWshExec : IDispatch {
426 [id(0x0001), propget]
427 HRESULT Status([out, retval] WshExecStatus* Status);
428
429 [id(0x0003), propget]
430 HRESULT StdIn([out, retval] ITextStream** stream);
431
432 [id(0x0004), propget]
433 HRESULT StdOut([out, retval] ITextStream** stream);
434
435 [id(0x0005), propget]
436 HRESULT StdErr([out, retval] ITextStream** stream);
437
438 [id(0x0006), propget]
439 HRESULT ProcessID([out, retval] DWORD *pid);
440
441 [id(0x0007), propget]
442 HRESULT ExitCode([out, retval] DWORD *code);
443
444 [id(0x0008)]
445 HRESULT Terminate();
446 };
447
448 [
449 uuid(f935dc23-1cf0-11d0-adb9-00c04fd58a0b),
450 odl,
451 dual,
452 oleautomation
453 ]
454 interface IWshShortcut : IDispatch {
455 [id(DISPID_VALUE), propget]
456 HRESULT FullName([out, retval] BSTR* name);
457
458 [id(0x03e8), propget]
459 HRESULT Arguments([out, retval] BSTR* Arguments);
460
461 [id(0x03e8), propput]
462 HRESULT Arguments([in] BSTR Arguments);
463
464 [id(0x03e9), propget]
465 HRESULT Description([out, retval] BSTR* Description);
466
467 [id(0x03e9), propput]
468 HRESULT Description([in] BSTR Description);
469
470 [id(0x03ea), propget]
471 HRESULT Hotkey([out, retval] BSTR* HotKey);
472
473 [id(0x03ea), propput]
474 HRESULT Hotkey([in] BSTR HotKey);
475
476 [id(0x03eb), propget]
477 HRESULT IconLocation([out, retval] BSTR* IconPath);
478
479 [id(0x03eb), propput]
480 HRESULT IconLocation([in] BSTR IconPath);
481
482 [id(0x03ec), propput]
483 HRESULT RelativePath([in] BSTR rhs);
484
485 [id(0x03ed), propget]
486 HRESULT TargetPath([out, retval] BSTR* Path);
487
488 [id(0x03ed), propput]
489 HRESULT TargetPath([in] BSTR Path);
490
491 [id(0x03ee), propget]
492 HRESULT WindowStyle([out, retval] int* ShowCmd);
493
494 [id(0x03ee), propput]
495 HRESULT WindowStyle([in] int ShowCmd);
496
497 [id(0x03ef), propget]
498 HRESULT WorkingDirectory([out, retval] BSTR* WorkingDirectory);
499
500 [id(0x03ef), propput]
501 HRESULT WorkingDirectory([in] BSTR WorkingDirectory);
502
503 [id(0x07d0), hidden]
504 HRESULT Load([in] BSTR PathLink);
505
506 [id(0x07d1)]
507 HRESULT Save();
508 };
509
510 [
511 uuid(f935dc21-1cf0-11d0-adb9-00c04fd58a0b),
512 odl,
513 dual,
514 oleautomation,
515 hidden
516 ]
517 interface IWshShell : IDispatch {
518 [id(0x0064), propget]
519 HRESULT SpecialFolders([out, retval] IWshCollection** out_Folders);
520
521 [id(0x00c8), propget]
522 HRESULT Environment(
523 [in, optional] VARIANT* Type,
524 [out, retval] IWshEnvironment** out_Env);
525
526 [id(0x03e8)]
527 HRESULT Run(
528 [in] BSTR Command,
529 [in, optional] VARIANT* WindowStyle,
530 [in, optional] VARIANT* WaitOnReturn,
531 [out, retval] DWORD* out_ExitCode);
532
533 [id(0x03e9)]
534 HRESULT Popup(
535 [in] BSTR Text,
536 [in, optional] VARIANT* SecondsToWait,
537 [in, optional] VARIANT* Title,
538 [in, optional] VARIANT* Type,
539 [out, retval] int* out_Button);
540
541 [id(0x03ea)]
542 HRESULT CreateShortcut(
543 [in] BSTR PathLink,
544 [out, retval] IDispatch** out_Shortcut);
545
546 [id(0x03ee)]
547 HRESULT ExpandEnvironmentStrings(
548 [in] BSTR Src,
549 [out, retval] BSTR* out_Dst);
550
551 [id(0x07d0)]
552 HRESULT RegRead(
553 [in] BSTR Name,
554 [out, retval] VARIANT* out_Value);
555
556 [id(0x07d1)]
557 HRESULT RegWrite(
558 [in] BSTR Name,
559 [in] VARIANT* Value,
560 [in, optional] VARIANT* Type);
561
562 [id(0x07d2)]
563 HRESULT RegDelete([in] BSTR Name);
564 };
565
566 [
567 uuid(24be5a30-edfe-11d2-b933-00104b365c9f),
568 odl,
569 dual,
570 oleautomation,
571 hidden
572 ]
573 interface IWshShell2 : IWshShell {
574 [id(0x0bb8)]
575 HRESULT LogEvent(
576 [in] VARIANT* Type,
577 [in] BSTR Message,
578 [in, defaultvalue("")] BSTR Target,
579 [out, retval] VARIANT_BOOL* out_Success);
580
581 [id(0x0bc2)]
582 HRESULT AppActivate(
583 [in] VARIANT* App,
584 [in, optional] VARIANT* Wait,
585 [out, retval] VARIANT_BOOL* out_Success);
586
587 [id(0x0bc3)]
588 HRESULT SendKeys(
589 [in] BSTR Keys,
590 [in, optional] VARIANT* Wait);
591 };
592
593 [
594 uuid(41904400-be18-11d3-a28b-00104bd35090),
595 odl,
596 dual,
597 oleautomation
598 ]
599 interface IWshShell3 : IWshShell2 {
600 [id(0x0bc4)]
601 HRESULT Exec(
602 [in] BSTR Command,
603 [out, retval] IWshExec** out_Exec);
604
605 [id(0x0bc5), propget]
606 HRESULT CurrentDirectory([out, retval] BSTR* out_Directory);
607
608 [id(0x0bc5), propput]
609 HRESULT CurrentDirectory([in] BSTR out_Directory);
610 };
611
612 [
613 uuid(24be5a31-edfe-11d2-b933-00104b365c9f),
614 odl,
615 dual,
616 oleautomation
617 ]
618 interface IWshNetwork2 : IDispatch {
619 [id(0x60020000), propget]
620 HRESULT UserDomain([out, retval] BSTR *out_UserDomain);
621 }
622
623 [
624 helpstring("Windows Script Host Shell Object"),
625 uuid(f935dc22-1cf0-11d0-adb9-00c04fd58a0b),
626 threading(apartment),
627 progid("WScript.Shell.1"),
628 vi_progid("WScript.Shell")
629 ]
630 coclass IWshShell_Class {
631 [default] interface IWshShell3;
632 }
633
634 [
635 helpstring("Windows Script Host Shell Object"),
636 uuid(72c24dd5-d70a-438b-8a42-98424b88afb8),
637 threading(apartment),
638 progid("WScript.Shell.1"),
639 vi_progid("WScript.Shell")
640 ]
641 coclass WshShell {
642 [default] interface IWshShell3;
643 }
644
645 [
646 helpstring("Windows Script Host Network Object"),
647 uuid(f935dc26-1cf0-11d0-adb9-00c04fd58a0b),
648 threading(apartment),
649 progid("WScript.Network.1"),
650 vi_progid("WScript.Network")
651 ]
652 coclass IWshNetwork_Class {
653 [default] interface IWshNetwork2;
654 }
655
656 [
657 helpstring("Windows Script Host Network Object"),
658 uuid(093ff999-1ea0-4079-9525-9614c3504b74),
659 threading(apartment),
660 progid("WScript.Network.1"),
661 vi_progid("WScript.Network")
662 ]
663 coclass WshNetwork {
664 [default] interface IWshNetwork2;
665 }
666
667 [
668 uuid(08fed191-be19-11d3-a28b-00104bd35090),
669 threading(apartment)
670 ]
671 coclass WshExec {
672 [default] interface IWshExec;
673 }
674 }