ReactOS 0.4.15-dev-7842-g558ab78
scrrun.idl
Go to the documentation of this file.
1/*
2 * Copyright (C) 2012 Alistair Leslie-Hughes
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 header
20
21import "unknwn.idl";
22import "objidl.idl";
23import "oaidl.idl";
24
25cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
26cpp_quote("#undef CopyFile")
27cpp_quote("#undef DeleteFile")
28cpp_quote("#undef MoveFile")
29cpp_quote("#endif")
30/* this is not defined in public headers */
31cpp_quote("#define CTL_E_ENDOFFILE STD_CTL_SCODE(62)")
32cpp_quote("#define CTL_E_KEY_ALREADY_EXISTS STD_CTL_SCODE(457)")
33cpp_quote("#define CTL_E_ELEMENT_NOT_FOUND STD_CTL_SCODE(32811)")
34
35[
36 uuid(420B2830-E718-11CF-893D-00A0C9054228),
37 version(1.0)
38]
39library Scripting
40{
41 importlib("stdole2.tlb");
42
43 interface IFolder;
44
45 typedef enum CompareMethod
46 {
47 BinaryCompare,
48 TextCompare,
49 DatabaseCompare
50 } CompareMethod;
51
52 typedef enum IOMode
53 {
54 ForReading = 1,
55 ForWriting = 2,
56 ForAppending = 8
57 } IOMode;
58
59 typedef enum Tristate
60 {
61 TristateTrue = -1,
62 TristateFalse = 0,
63 TristateUseDefault = -2,
64 TristateMixed = -2
65 } Tristate;
66
67 typedef enum FileAttribute
68 {
69 Normal = 0,
70 ReadOnly = 1,
71 Hidden = 2,
72 System = 4,
73 Volume = 8,
74 Directory = 16,
75 Archive = 32,
76 Alias = 1024,
77 Compressed = 2048
78 } FileAttribute;
79
80 typedef enum SpecialFolderConst
81 {
82 WindowsFolder,
83 SystemFolder,
84 TemporaryFolder
85 } SpecialFolderConst;
86
87 typedef enum DriveTypeConst
88 {
89 UnknownType,
90 Removable,
91 Fixed,
92 Remote,
93 CDRom,
94 RamDisk
95 } DriveTypeConst;
96
97 typedef enum StandardStreamTypes
98 {
99 StdIn,
100 StdOut,
101 StdErr
102 } StandardStreamTypes;
103
104 [
105 odl,
106 uuid(42C642C1-97E1-11CF-978F-00A02463E06F),
107 hidden,
108 dual,
109 oleautomation
110 ]
111 interface IDictionary : IDispatch
112 {
113 [id(DISPID_VALUE), propputref]
114 HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem);
115
116 [id(DISPID_VALUE), propput]
117 HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem);
118
119 [id(DISPID_VALUE), propget]
120 HRESULT Item([in] VARIANT* Key, [out, retval] VARIANT* pRetItem);
121
122 [id(0x00000001)]
123 HRESULT Add([in] VARIANT* Key, [in] VARIANT* Item);
124
125 [id(0x00000002), propget]
126 HRESULT Count([out, retval] long* pCount);
127
128 [id(0x00000003)]
129 HRESULT Exists([in] VARIANT* Key, [out, retval] VARIANT_BOOL* pExists);
130
131 [id(0x00000004)]
132 HRESULT Items([out, retval] VARIANT* pItemsArray);
134 [id(0x00000005), propput]
135 HRESULT Key([in] VARIANT* Key, [in] VARIANT* rhs);
137 [id(0x00000006)]
138 HRESULT Keys([out, retval] VARIANT* pKeysArray);
140 [id(0x00000007)]
141 HRESULT Remove([in] VARIANT* Key);
142
143 [id(0x00000008)]
144 HRESULT RemoveAll();
145
146 [id(0x00000009), propput]
147 HRESULT CompareMode([in] CompareMethod pcomp);
148
149 [id(0x00000009), propget]
150 HRESULT CompareMode([out, retval] CompareMethod* pcomp);
151
152 [id(DISPID_NEWENUM), restricted]
153 HRESULT _NewEnum([out, retval] IUnknown** ppunk);
154
155 [id(0x0000000a), propget, hidden]
156 HRESULT HashVal([in] VARIANT* Key, [out, retval] VARIANT* HashVal);
157 }
158
159 [
160 odl,
161 uuid(C7C3F5A0-88A3-11D0-ABCB-00A0C90FFFC0),
162 hidden,
163 dual,
164 nonextensible,
165 oleautomation
166 ]
167 interface IDrive : IDispatch
168 {
169 [id(DISPID_VALUE), propget]
170 HRESULT Path([out, retval] BSTR* pbstrPath);
171
172 [id(0x00002710), propget]
173 HRESULT DriveLetter([out, retval] BSTR* pbstrLetter);
174
175 [id(0x00002711), propget]
176 HRESULT ShareName([out, retval] BSTR* pbstrShareName);
177
178 [id(0x00002712), propget]
179 HRESULT DriveType([out, retval] DriveTypeConst* pdt);
180
181 [id(0x00002713), propget]
182 HRESULT RootFolder([out, retval] IFolder** ppfolder);
183
184 [id(0x00002715), propget]
185 HRESULT AvailableSpace([out, retval] VARIANT* pvarAvail);
186
187 [id(0x00002714), propget]
188 HRESULT FreeSpace([out, retval] VARIANT* pvarFree);
189
190 [id(0x00002716), propget]
191 HRESULT TotalSize([out, retval] VARIANT* pvarTotal);
192
193 [id(0x00002717), propget]
194 HRESULT VolumeName([out, retval] BSTR* pbstrName);
195
196 [id(0x00002717), propput]
197 HRESULT VolumeName([in] BSTR pbstrName);
198
199 [id(0x00002718), propget]
200 HRESULT FileSystem([out, retval] BSTR* pbstrFileSystem);
201
202 [id(0x00002719), propget]
203 HRESULT SerialNumber([out, retval] long* pulSerialNumber);
204
205 [id(0x0000271a), propget]
206 HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady);
207 }
208
209 [
210 odl,
211 uuid(C7C3F5A1-88A3-11D0-ABCB-00A0C90FFFC0),
212 hidden,
213 dual,
214 nonextensible,
215 oleautomation
216 ]
217 interface IDriveCollection : IDispatch {
218 [id(DISPID_VALUE), propget]
219 HRESULT Item([in] VARIANT Key, [out, retval] IDrive** ppdrive);
220
221 [id(DISPID_NEWENUM), propget, restricted, hidden]
222 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
223
224 [id(0x00000001), propget]
225 HRESULT Count([out, retval] long* plCount);
226 }
227
228 [
229 odl,
230 uuid(53BAD8C1-E718-11CF-893D-00A0C9054228),
231 hidden,
232 dual,
233 nonextensible,
234 oleautomation
235 ]
236 interface ITextStream : IDispatch
237 {
238 [id(0x00002710), propget]
239 HRESULT Line([out, retval] long* Line);
240
241 [id(0xfffffdef), propget]
242 HRESULT Column([out, retval] long* Column);
243
244 [id(0x00002712), propget]
245 HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS);
246
247 [id(0x00002713), propget]
248 HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL);
249
250 [id(0x00002714)]
251 HRESULT Read([in] long Characters, [out, retval] BSTR* Text);
252
253 [id(0x00002715)]
254 HRESULT ReadLine([out, retval] BSTR* Text);
255
256 [id(0x00002716)]
257 HRESULT ReadAll([out, retval] BSTR* Text);
258
259 [id(0x00002717)]
260 HRESULT Write([in] BSTR Text);
261
262 [id(0x00002718)]
263 HRESULT WriteLine([in, defaultvalue("")] BSTR Text);
264
265 [id(0x00002719)]
266 HRESULT WriteBlankLines([in] long Lines);
267
268 [id(0x0000271a)]
269 HRESULT Skip([in] long Characters);
270
271 [id(0x0000271b)]
272 HRESULT SkipLine();
273
274 [id(0x0000271c)]
275 HRESULT Close();
276 }
277
278 [
279 odl,
280 uuid(C7C3F5A4-88A3-11D0-ABCB-00A0C90FFFC0),
281 hidden,
282 dual,
283 nonextensible,
284 oleautomation
285 ]
286 interface IFile : IDispatch
287 {
288 [id(DISPID_VALUE), propget]
289 HRESULT Path([out, retval] BSTR* pbstrPath);
290
291 [id(0x000003e8), propget]
292 HRESULT Name([out, retval] BSTR* pbstrName);
293
294 [id(0x000003e8), propput]
295 HRESULT Name([in] BSTR pbstrName);
296
297 [id(0x000003ea), propget]
298 HRESULT ShortPath([out, retval] BSTR* pbstrPath);
299
300 [id(0x000003e9), propget]
301 HRESULT ShortName([out, retval] BSTR* pbstrName);
302
303 [id(0x000003ec), propget]
304 HRESULT Drive([out, retval] IDrive** ppdrive);
305
306 [id(0x000003ed), propget]
307 HRESULT ParentFolder([out, retval] IFolder** ppfolder);
308
309 [id(0x000003eb), propget]
310 HRESULT Attributes([out, retval] FileAttribute* pfa);
311
312 [id(0x000003eb), propput]
313 HRESULT Attributes([in] FileAttribute pfa);
314
315 [id(0x000003ee), propget]
316 HRESULT DateCreated([out, retval] DATE* pdate);
318 [id(0x000003ef), propget]
319 HRESULT DateLastModified([out, retval] DATE* pdate);
321 [id(0x000003f0), propget]
322 HRESULT DateLastAccessed([out, retval] DATE* pdate);
324 [id(0x000003f1), propget]
325 HRESULT Size([out, retval] VARIANT* pvarSize);
327 [id(0x000003f2), propget]
328 HRESULT Type([out, retval] BSTR* pbstrType);
329
330 [id(0x000004b0)]
331 HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL Force);
332
333 [id(0x000004b2)]
334 HRESULT Copy([in] BSTR Destination, [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
335
336 [id(0x000004b4)]
337 HRESULT Move([in] BSTR Destination);
338
339 [id(0x0000044c)]
340 HRESULT OpenAsTextStream([in, defaultvalue(1)] IOMode IOMode,
341 [in, defaultvalue(0)] Tristate Format, [out, retval] ITextStream** ppts);
342 }
343
344 [
345 odl,
346 uuid(0AB5A3D0-E5B6-11D0-ABF5-00A0C90FFFC0),
347 hidden,
348 dual,
349 nonextensible,
350 oleautomation
351 ]
352 interface IFileSystem : IDispatch
353 {
354 [id(0x0000271a), propget]
355 HRESULT Drives([out, retval] IDriveCollection** ppdrives);
356
357 [id(0x00002710)]
358 HRESULT BuildPath([in] BSTR Path, [in] BSTR Name, [out, retval] BSTR* pbstrResult);
359
360 [id(0x00002714)]
361 HRESULT GetDriveName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
362
363 [id(0x00002715)]
364 HRESULT GetParentFolderName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
365
366 [id(0x00002716)]
367 HRESULT GetFileName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
368
369 [id(0x00002717)]
370 HRESULT GetBaseName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
371
372 [id(0x00002718)]
373 HRESULT GetExtensionName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
374
375 [id(0x00002712)]
376 HRESULT GetAbsolutePathName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
377
378 [id(0x00002713)]
379 HRESULT GetTempName([out, retval] BSTR* pbstrResult);
380
381 [id(0x0000271f)]
382 HRESULT DriveExists([in] BSTR DriveSpec, [out, retval] VARIANT_BOOL* pfExists);
383
384 [id(0x00002720)]
385 HRESULT FileExists([in] BSTR FileSpec, [out, retval] VARIANT_BOOL* pfExists);
386
387 [id(0x00002721)]
388 HRESULT FolderExists([in] BSTR FolderSpec, [out, retval] VARIANT_BOOL* pfExists);
389
390 [id(0x0000271b)]
391 HRESULT GetDrive([in] BSTR DriveSpec, [out, retval] IDrive** ppdrive);
392
393 [id(0x0000271c)]
394 HRESULT GetFile([in] BSTR FilePath, [out, retval] IFile** ppfile);
395
396 [id(0x0000271d)]
397 HRESULT GetFolder([in] BSTR FolderPath, [out, retval] IFolder** ppfolder);
398
399 [id(0x0000271e)]
400 HRESULT GetSpecialFolder([in] SpecialFolderConst SpecialFolder, [out, retval] IFolder** ppfolder);
401
402 [id(0x000004b0)]
403 HRESULT DeleteFile([in] BSTR FileSpec, [in, defaultvalue(0)] VARIANT_BOOL Force);
404
405 [id(0x000004b1)]
406 HRESULT DeleteFolder([in] BSTR FolderSpec, [in, defaultvalue(0)] VARIANT_BOOL Force);
407
408 [id(0x000004b4), helpstring("Move a file"), helpcontext(0x00214bab)]
409 HRESULT MoveFile([in] BSTR Source, [in] BSTR Destination);
410
411 [id(0x000004b5)]
412 HRESULT MoveFolder([in] BSTR Source, [in] BSTR Destination);
413
414 [id(0x000004b2)]
415 HRESULT CopyFile([in] BSTR Source, [in] BSTR Destination,
416 [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
417
418 [id(0x000004b3)]
419 HRESULT CopyFolder([in] BSTR Source, [in] BSTR Destination,
420 [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
421
422 [id(0x00000460)]
423 HRESULT CreateFolder([in] BSTR Path, [out, retval] IFolder** ppfolder);
424
425 [id(0x0000044d)]
426 HRESULT CreateTextFile([in] BSTR FileName, [in, defaultvalue(-1)] VARIANT_BOOL Overwrite,
427 [in, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
428
429 [id(0x0000044c)]
430 HRESULT OpenTextFile([in] BSTR FileName, [in, defaultvalue(1)] IOMode IOMode,
431 [in, defaultvalue(0)] VARIANT_BOOL Create,
432 [in, defaultvalue(0)] Tristate Format,
433 [out, retval] ITextStream** ppts);
434 }
435
436 [
437 odl,
438 uuid(C7C3F5A5-88A3-11D0-ABCB-00A0C90FFFC0),
439 hidden,
440 dual,
441 nonextensible,
442 oleautomation
443 ]
444 interface IFileCollection : IDispatch
445 {
446 [id(DISPID_VALUE), propget]
447 HRESULT Item([in] VARIANT Key, [out, retval] IFile** ppfile);
448
449 [id(DISPID_NEWENUM), propget, restricted, hidden]
450 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
451
452 [id(0x00000001), propget]
453 HRESULT Count([out, retval] long* plCount);
454 }
455
456 [
457 odl,
458 uuid(C7C3F5A3-88A3-11D0-ABCB-00A0C90FFFC0),
459 hidden,
460 dual,
461 nonextensible,
462 oleautomation
463 ]
464 interface IFolderCollection : IDispatch
465 {
466 [id(0x00000002)]
467 HRESULT Add([in] BSTR Name, [out, retval] IFolder** ppfolder);
468
469 [id(DISPID_VALUE), propget]
470 HRESULT Item([in] VARIANT Key, [out, retval] IFolder** ppfolder);
471
472 [id(DISPID_NEWENUM), propget, restricted, hidden]
473 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
474
475 [id(0x00000001), propget]
476 HRESULT Count([out, retval] long* plCount);
477 }
478
479 [
480 odl,
481 uuid(C7C3F5A2-88A3-11D0-ABCB-00A0C90FFFC0),
482 hidden,
483 dual,
484 nonextensible,
485 oleautomation
486 ]
487 interface IFolder : IDispatch
488 {
489 [id(DISPID_VALUE), propget]
490 HRESULT Path([out, retval] BSTR* pbstrPath);
491
492 [id(0x000003e8), propget]
493 HRESULT Name([out, retval] BSTR* pbstrName);
494
495 [id(0x000003e8), propput]
496 HRESULT Name([in] BSTR pbstrName);
497
498 [id(0x000003ea), propget]
499 HRESULT ShortPath([out, retval] BSTR* pbstrPath);
500
501 [id(0x000003e9), propget]
502 HRESULT ShortName([out, retval] BSTR* pbstrName);
503
504 [id(0x000003ec), propget]
505 HRESULT Drive([out, retval] IDrive** ppdrive);
506
507 [id(0x000003ed), propget]
508 HRESULT ParentFolder([out, retval] IFolder** ppfolder);
509
510 [id(0x000003eb), propget]
511 HRESULT Attributes([out, retval] FileAttribute* pfa);
512
513 [id(0x000003eb), propput]
514 HRESULT Attributes([in] FileAttribute pfa);
515
516 [id(0x000003ee), propget]
517 HRESULT DateCreated([out, retval] DATE* pdate);
518
519 [id(0x000003ef), propget]
520 HRESULT DateLastModified([out, retval] DATE* pdate);
521
522 [id(0x000003f0), propget]
523 HRESULT DateLastAccessed([out, retval] DATE* pdate);
524
525 [id(0x000003f2), propget]
526 HRESULT Type([out, retval] BSTR* pbstrType);
527
528 [id(0x000004b1)]
529 HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL Force);
530
531 [id(0x000004b3)]
532 HRESULT Copy([in] BSTR Destination, [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
534 [id(0x000004b5)]
535 HRESULT Move([in] BSTR Destination);
536
537 [id(0x00002710), propget]
538 HRESULT IsRootFolder([out, retval] VARIANT_BOOL* pfRootFolder);
539
540 [id(0x000003f1), propget]
541 HRESULT Size([out, retval] VARIANT* pvarSize);
542
543 [id(0x00002711), propget]
544 HRESULT SubFolders([out, retval] IFolderCollection** ppfolders);
545
546 [id(0x00002712), propget]
547 HRESULT Files([out, retval] IFileCollection** ppfiles);
548
549 [id(0x0000044d)]
550 HRESULT CreateTextFile([in] BSTR FileName, [in, defaultvalue(-1)] VARIANT_BOOL Overwrite,
551 [in, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
552 }
553
554 [
555 odl,
556 uuid(2A0B9D10-4B87-11D3-A97A-00104B365C9F),
557 dual,
558 nonextensible,
559 oleautomation
560 ]
561 interface IFileSystem3 : IFileSystem
562 {
563 [id(0x00004e20)]
564 HRESULT GetStandardStream([in] StandardStreamTypes StandardStreamType,
565 [in, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
566
567 [id(0x00004e2a)]
568 HRESULT GetFileVersion([in] BSTR FileName, [out, retval] BSTR* FileVersion);
569 }
570
571 [
572 odl,
573 uuid(AADC65F6-CFF1-11D1-B747-00C04FC2B085),
574 dual,
575 oleautomation
576 ]
577 interface IScriptEncoder : IDispatch
578 {
579 [id(DISPID_VALUE)]
580 HRESULT EncodeScriptFile([in] BSTR szExt, [in] BSTR bstrStreamIn, [in] long cFlags,
581 [in] BSTR bstrDefaultLang, [out, retval] BSTR* pbstrStreamOut);
582 }
583
584 [
585 uuid(EE09B103-97E0-11CF-978F-00A02463E06F),
586 version(1.0),
587 helpstring("Scripting.Dictionary"),
588 threading(apartment),
589 progid("Scripting.Dictionary")
590 ]
591 coclass Dictionary
592 {
593 [default] interface IDictionary;
594 }
595
596 [
597 uuid(0D43FE01-F093-11CF-8940-00A0C9054228),
598 version(1.0),
599 helpstring("FileSystem Object"),
600 threading(both),
601 progid("Scripting.FileSystemObject")
602 ]
603 coclass FileSystemObject
604 {
605 [default] interface IFileSystem3;
606 }
607
608 [
609 uuid(C7C3F5B1-88A3-11D0-ABCB-00A0C90FFFC0),
610 noncreatable,
611 version(1.0)
612 ]
613 coclass Drive
614 {
615 [default] interface IDrive;
616 }
617
618 [
619 uuid(C7C3F5B2-88A3-11D0-ABCB-00A0C90FFFC0),
620 noncreatable,
621 version(1.0)
622 ]
623 coclass Drives
624 {
625 [default] interface IDriveCollection;
626 }
627
628 [
629 uuid(C7C3F5B3-88A3-11D0-ABCB-00A0C90FFFC0),
630 noncreatable,
631 version(1.0)
632 ]
633 coclass Folder
634 {
635 [default] interface IFolder;
636 }
637
638 [
639 uuid(C7C3F5B4-88A3-11D0-ABCB-00A0C90FFFC0),
640 noncreatable,
641 version(1.0)
642 ]
643 coclass Folders
644 {
645 [default] interface IFolderCollection;
646 }
647
648 [
649 uuid(C7C3F5B5-88A3-11D0-ABCB-00A0C90FFFC0),
650 noncreatable,
651 version(1.0)
652 ]
653 coclass File
654 {
655 [default] interface IFile;
656 }
657
658 [
659 uuid(C7C3F5B6-88A3-11D0-ABCB-00A0C90FFFC0),
660 noncreatable,
661 version(1.0)
662 ]
663 coclass Files
664 {
665 [default] interface IFileCollection;
666 }
667
668 [
669 uuid(0BB02EC0-EF49-11CF-8940-00A0C9054228),
670 noncreatable,
671 version(1.0)
672 ]
673 coclass TextStream
674 {
675 [default] interface ITextStream;
676 }
677
678 [
679 uuid(32DA2B15-CFED-11D1-B747-00C04FC2B085),
680 version(1.0),
681 helpstring("Script Encoder Object"),
682 threading(apartment),
683 progid("Scripting.Encoder")
684 ]
685 coclass Encoder
686 {
687 [default] interface IScriptEncoder;
688 }
689}
CD3D10_BUFFER_DESC D3D10_BUFFER_DESC cpp_quote(" ~CD3D10_BUFFER_DESC() {}") operator const D3D10_BUFFER_DESC &() const
Definition: d3d10.idl:491