kernel32: Use sysctl(VM_SWAPUSAGE) to get swap sizes on BSDs, if available.
[wine/multimedia.git] / dlls / scrrun / scrrun.idl
blob73948b5b32ae10f5603d93a4c643d5530bdf2a24
1 /*
2 * Copyright (C) 2012 Alistair Leslie-Hughes
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 #pragma makedep regtypelib
21 import "unknwn.idl";
22 import "objidl.idl";
23 import "oaidl.idl";
25 cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
26 cpp_quote("#undef CopyFile")
27 cpp_quote("#undef DeleteFile")
28 cpp_quote("#undef MoveFile")
29 cpp_quote("#endif")
32 uuid(420B2830-E718-11CF-893D-00A0C9054228),
33 version(1.0)
35 library Scripting
37 importlib("stdole2.tlb");
39 interface IDictionary;
40 interface IDrive;
41 interface IDriveCollection;
42 interface IFile;
43 interface IFileCollection;
44 interface IFileSystem;
45 interface IFileSystem3;
46 interface IFolder;
47 interface IFolderCollection;
48 interface IScriptEncoder;
49 interface ITextStream;
51 typedef enum CompareMethod
53 BinaryCompare = 0,
54 TextCompare = 1,
55 DatabaseCompare = 2
56 } CompareMethod;
58 typedef enum IOMode
60 ForReading = 1,
61 ForWriting = 2,
62 ForAppending = 8
63 } IOMode;
65 typedef enum Tristate
67 TristateTrue = 0xffffffff,
68 TristateFalse = 0,
69 TristateUseDefault = 0xfffffffe,
70 TristateMixed = 0xfffffffe
71 } Tristate;
73 typedef enum FileAttribute
75 Normal = 0,
76 ReadOnly = 1,
77 Hidden = 2,
78 System = 4,
79 Volume = 8,
80 Directory = 16,
81 Archive = 32,
82 Alias = 1024,
83 Compressed = 2048
84 } FileAttribute;
86 typedef enum SpecialFolderConst
88 WindowsFolder = 0,
89 SystemFolder = 1,
90 TemporaryFolder = 2
91 } SpecialFolderConst;
93 typedef enum DriveTypeConst
95 UnknownType = 0,
96 Removable = 1,
97 Fixed = 2,
98 Remote = 3,
99 CDRom = 4,
100 RamDisk = 5
101 } DriveTypeConst;
103 typedef enum StandardStreamTypes
105 StdIn = 0,
106 StdOut = 1,
107 StdErr = 2
108 } StandardStreamTypes;
111 odl,
112 uuid(42C642C1-97E1-11CF-978F-00A02463E06F),
113 hidden,
114 dual,
115 oleautomation
117 interface IDictionary : IDispatch
119 [id(DISPID_VALUE), propputref]
120 HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem);
122 [id(DISPID_VALUE), propput]
123 HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem);
125 [id(DISPID_VALUE), propget]
126 HRESULT Item([in] VARIANT* Key, [out, retval] VARIANT* pRetItem);
128 [id(0x00000001)]
129 HRESULT Add([in] VARIANT* Key, [in] VARIANT* Item);
131 [id(0x00000002), propget]
132 HRESULT Count([out, retval] long* pCount);
134 [id(0x00000003)]
135 HRESULT Exists([in] VARIANT* Key, [out, retval] VARIANT_BOOL* pExists);
137 [id(0x00000004)]
138 HRESULT Items([out, retval] VARIANT* pItemsArray);
140 [id(0x00000005), propput]
141 HRESULT Key([in] VARIANT* Key, [in] VARIANT* rhs);
143 [id(0x00000006)]
144 HRESULT Keys([out, retval] VARIANT* pKeysArray);
146 [id(0x00000007)]
147 HRESULT Remove([in] VARIANT* Key);
149 [id(0x00000008)]
150 HRESULT RemoveAll();
152 [id(0x00000009), propput]
153 HRESULT CompareMode([in] CompareMethod pcomp);
155 [id(0x00000009), propget]
156 HRESULT CompareMode([out, retval] CompareMethod* pcomp);
158 [id(DISPID_NEWENUM), restricted]
159 HRESULT _NewEnum([out, retval] IUnknown** ppunk);
161 [id(0x0000000a), propget, hidden]
162 HRESULT HashVal([in] VARIANT* Key, [out, retval] VARIANT* HashVal);
166 odl,
167 uuid(0AB5A3D0-E5B6-11D0-ABF5-00A0C90FFFC0),
168 hidden,
169 dual,
170 nonextensible,
171 oleautomation
173 interface IFileSystem : IDispatch
175 [id(0x0000271a), propget]
176 HRESULT Drives([out, retval] IDriveCollection** ppdrives);
178 [id(0x00002710)]
179 HRESULT BuildPath([in] BSTR Path, [in] BSTR Name, [out, retval] BSTR* pbstrResult);
181 [id(0x00002714)]
182 HRESULT GetDriveName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
184 [id(0x00002715)]
185 HRESULT GetParentFolderName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
187 [id(0x00002716)]
188 HRESULT GetFileName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
190 [id(0x00002717)]
191 HRESULT GetBaseName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
193 [id(0x00002718)]
194 HRESULT GetExtensionName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
196 [id(0x00002712)]
197 HRESULT GetAbsolutePathName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
199 [id(0x00002713)]
200 HRESULT GetTempName([out, retval] BSTR* pbstrResult);
202 [id(0x0000271f)]
203 HRESULT DriveExists([in] BSTR DriveSpec, [out, retval] VARIANT_BOOL* pfExists);
205 [id(0x00002720)]
206 HRESULT FileExists([in] BSTR FileSpec, [out, retval] VARIANT_BOOL* pfExists);
208 [id(0x00002721)]
209 HRESULT FolderExists([in] BSTR FolderSpec, [out, retval] VARIANT_BOOL* pfExists);
211 [id(0x0000271b)]
212 HRESULT GetDrive([in] BSTR DriveSpec, [out, retval] IDrive** ppdrive);
214 [id(0x0000271c)]
215 HRESULT GetFile([in] BSTR FilePath, [out, retval] IFile** ppfile);
217 [id(0x0000271d)]
218 HRESULT GetFolder([in] BSTR FolderPath, [out, retval] IFolder** ppfolder);
220 [id(0x0000271e)]
221 HRESULT GetSpecialFolder([in] SpecialFolderConst SpecialFolder, [out, retval] IFolder** ppfolder);
223 [id(0x000004b0)]
224 HRESULT DeleteFile([in] BSTR FileSpec, [in, optional, defaultvalue(0)] VARIANT_BOOL Force);
226 [id(0x000004b1)]
227 HRESULT DeleteFolder([in] BSTR FolderSpec, [in, optional, defaultvalue(0)] VARIANT_BOOL Force);
229 [id(0x000004b4), helpstring("Move a file"), helpcontext(0x00214bab)]
230 HRESULT MoveFile([in] BSTR Source, [in] BSTR Destination);
232 [id(0x000004b5)]
233 HRESULT MoveFolder([in] BSTR Source, [in] BSTR Destination);
235 [id(0x000004b2)]
236 HRESULT CopyFile([in] BSTR Source, [in] BSTR Destination,
237 [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
239 [id(0x000004b3)]
240 HRESULT CopyFolder([in] BSTR Source, [in] BSTR Destination,
241 [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
243 [id(0x00000460)]
244 HRESULT CreateFolder([in] BSTR Path, [out, retval] IFolder** ppfolder);
246 [id(0x0000044d)]
247 HRESULT CreateTextFile([in] BSTR FileName, [in, optional, defaultvalue(-1)] VARIANT_BOOL Overwrite,
248 [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
250 [id(0x0000044c)]
251 HRESULT OpenTextFile([in] BSTR FileName, [in, optional, defaultvalue(1)] IOMode IOMode,
252 [in, optional, defaultvalue(0)] VARIANT_BOOL Create,
253 [in, optional, defaultvalue(0)] Tristate Format,
254 [out, retval] ITextStream** ppts);
258 odl,
259 uuid(C7C3F5A1-88A3-11D0-ABCB-00A0C90FFFC0),
260 hidden,
261 dual,
262 nonextensible,
263 oleautomation
265 interface IDriveCollection : IDispatch {
266 [id(DISPID_VALUE)]
267 HRESULT Item([in] VARIANT Key, [out, retval] IDrive** ppdrive);
269 [id(DISPID_NEWENUM), propget, restricted, hidden]
270 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
272 [id(0x00000001), propget]
273 HRESULT Count([out, retval] long* plCount);
277 odl,
278 uuid(C7C3F5A0-88A3-11D0-ABCB-00A0C90FFFC0),
279 hidden,
280 dual,
281 nonextensible,
282 oleautomation
284 interface IDrive : IDispatch
286 [id(DISPID_VALUE), propget]
287 HRESULT Path([out, retval] BSTR* pbstrPath);
289 [id(0x00002710), propget]
290 HRESULT DriveLetter([out, retval] BSTR* pbstrLetter)
292 [id(0x00002711), propget]
293 HRESULT ShareName([out, retval] BSTR* pbstrShareName);
295 [id(0x00002712), propget]
296 HRESULT DriveType([out, retval] DriveTypeConst* pdt);
298 [id(0x00002713), propget]
299 HRESULT RootFolder([out, retval] IFolder** ppfolder);
301 [id(0x00002715), propget]
302 HRESULT AvailableSpace([out, retval] VARIANT* pvarAvail);
304 [id(0x00002714), propget]
305 HRESULT FreeSpace([out, retval] VARIANT* pvarFree);
307 [id(0x00002716), propget]
308 HRESULT TotalSize([out, retval] VARIANT* pvarTotal);
310 [id(0x00002717), propget]
311 HRESULT VolumeName([out, retval] BSTR* pbstrName);
313 [id(0x00002717), propput]
314 HRESULT VolumeName([in] BSTR pbstrName);
316 [id(0x00002718), propget]
317 HRESULT FileSystem([out, retval] BSTR* pbstrFileSystem);
319 [id(0x00002719), propget]
320 HRESULT SerialNumber([out, retval] long* pulSerialNumber);
322 [id(0x0000271a), propget]
323 HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady);
327 odl,
328 uuid(C7C3F5A2-88A3-11D0-ABCB-00A0C90FFFC0),
329 hidden,
330 dual,
331 nonextensible,
332 oleautomation
334 interface IFolder : IDispatch
336 [id(DISPID_VALUE), propget]
337 HRESULT Path([out, retval] BSTR* pbstrPath);
339 [id(0x000003e8), propget]
340 HRESULT Name([out, retval] BSTR* pbstrName);
342 [id(0x000003e8), propput]
343 HRESULT Name([in] BSTR pbstrName);
345 [id(0x000003ea), propget]
346 HRESULT ShortPath([out, retval] BSTR* pbstrPath);
348 [id(0x000003e9), propget]
349 HRESULT ShortName([out, retval] BSTR* pbstrName);
351 [id(0x000003ec), propget]
352 HRESULT Drive([out, retval] IDrive** ppdrive);
354 [id(0x000003ed), propget]
355 HRESULT ParentFolder([out, retval] IFolder** ppfolder);
357 [id(0x000003eb), propget]
358 HRESULT Attributes([out, retval] FileAttribute* pfa);
360 [id(0x000003eb), propput]
361 HRESULT Attributes([in] FileAttribute pfa);
363 [id(0x000003ee), propget]
364 HRESULT DateCreated([out, retval] DATE* pdate);
366 [id(0x000003ef), propget]
367 HRESULT DateLastModified([out, retval] DATE* pdate);
369 [id(0x000003f0), propget]
370 HRESULT DateLastAccessed([out, retval] DATE* pdate);
372 [id(0x000003f2), propget]
373 HRESULT Type([out, retval] BSTR* pbstrType);
375 [id(0x000004b1)]
376 HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL Force);
378 [id(0x000004b3)]
379 HRESULT Copy([in] BSTR Destination, [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
381 [id(0x000004b5)]
382 HRESULT Move([in] BSTR Destination);
384 [id(0x00002710), propget]
385 HRESULT IsRootFolder([out, retval] VARIANT_BOOL* pfRootFolder);
387 [id(0x000003f1), propget]
388 HRESULT Size([out, retval] VARIANT* pvarSize);
390 [id(0x00002711), propget]
391 HRESULT SubFolders([out, retval] IFolderCollection** ppfolders);
393 [id(0x00002712), propget]
394 HRESULT Files([out, retval] IFileCollection** ppfiles);
396 [id(0x0000044d)]
397 HRESULT CreateTextFile([in] BSTR FileName, [in, optional, defaultvalue(-1)] VARIANT_BOOL Overwrite,
398 [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
402 odl,
403 uuid(C7C3F5A3-88A3-11D0-ABCB-00A0C90FFFC0),
404 hidden,
405 dual,
406 nonextensible,
407 oleautomation
409 interface IFolderCollection : IDispatch
411 [id(0x00000002)]
412 HRESULT Add([in] BSTR Name, [out, retval] IFolder** ppfolder);
414 [id(DISPID_VALUE), propget]
415 HRESULT Item([in] VARIANT Key, [out, retval] IFolder** ppfolder);
417 [id(DISPID_NEWENUM), propget, restricted, hidden]
418 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
420 [id(0x00000001), propget]
421 HRESULT Count([out, retval] long* plCount);
425 odl,
426 uuid(C7C3F5A5-88A3-11D0-ABCB-00A0C90FFFC0),
427 hidden,
428 dual,
429 nonextensible,
430 oleautomation
432 interface IFileCollection : IDispatch
434 [id(DISPID_VALUE), propget]
435 HRESULT Item([in] VARIANT Key, [out, retval] IFile** ppfile);
437 [id(DISPID_NEWENUM), propget, restricted, hidden]
438 HRESULT _NewEnum([out, retval] IUnknown** ppenum);
440 [id(0x00000001), propget]
441 HRESULT Count([out, retval] long* plCount);
445 odl,
446 uuid(C7C3F5A4-88A3-11D0-ABCB-00A0C90FFFC0),
447 hidden,
448 dual,
449 nonextensible,
450 oleautomation
452 interface IFile : IDispatch
454 [id(DISPID_VALUE), propget]
455 HRESULT Path([out, retval] BSTR* pbstrPath);
457 [id(0x000003e8), propget]
458 HRESULT Name([out, retval] BSTR* pbstrName);
460 [id(0x000003e8), propput]
461 HRESULT Name([in] BSTR pbstrName);
463 [id(0x000003ea), propget]
464 HRESULT ShortPath([out, retval] BSTR* pbstrPath);
466 [id(0x000003e9), propget]
467 HRESULT ShortName([out, retval] BSTR* pbstrName);
469 [id(0x000003ec), propget]
470 HRESULT Drive([out, retval] IDrive** ppdrive);
472 [id(0x000003ed), propget]
473 HRESULT ParentFolder([out, retval] IFolder** ppfolder);
475 [id(0x000003eb), propget]
476 HRESULT Attributes([out, retval] FileAttribute* pfa);
478 [id(0x000003eb), propput]
479 HRESULT Attributes([in] FileAttribute pfa);
481 [id(0x000003ee), propget]
482 HRESULT DateCreated([out, retval] DATE* pdate);
484 [id(0x000003ef), propget]
485 HRESULT DateLastModified([out, retval] DATE* pdate);
487 [id(0x000003f0), propget]
488 HRESULT DateLastAccessed([out, retval] DATE* pdate);
490 [id(0x000003f1), propget]
491 HRESULT Size([out, retval] VARIANT* pvarSize);
493 [id(0x000003f2), propget]
494 HRESULT Type([out, retval] BSTR* pbstrType);
496 [id(0x000004b0)]
497 HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL Force);
499 [id(0x000004b2)]
500 HRESULT Copy([in] BSTR Destination, [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
502 [id(0x000004b4)]
503 HRESULT Move([in] BSTR Destination);
505 [id(0x0000044c)]
506 HRESULT OpenAsTextStream([in, optional, defaultvalue(1)] IOMode IOMode,
507 [in, optional, defaultvalue(0)] Tristate Format, [out, retval] ITextStream** ppts);
511 odl,
512 uuid(53BAD8C1-E718-11CF-893D-00A0C9054228),
513 hidden,
514 dual,
515 nonextensible,
516 oleautomation
518 interface ITextStream : IDispatch
520 [id(0x00002710), propget]
521 HRESULT Line([out, retval] long* Line);
523 [id(0xfffffdef), propget]
524 HRESULT Column([out, retval] long* Column);
526 [id(0x00002712), propget]
527 HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS);
529 [id(0x00002713), propget]
530 HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL);
532 [id(0x00002714)]
533 HRESULT Read([in] long Characters, [out, retval] BSTR* Text);
535 [id(0x00002715)]
536 HRESULT ReadLine([out, retval] BSTR* Text);
538 [id(0x00002716)]
539 HRESULT ReadAll([out, retval] BSTR* Text);
541 [id(0x00002717)]
542 HRESULT Write([in] BSTR Text);
544 [id(0x00002718)]
545 HRESULT WriteLine([in, optional, defaultvalue("")] BSTR Text);
547 [id(0x00002719)]
548 HRESULT WriteBlankLines([in] long Lines);
550 [id(0x0000271a)]
551 HRESULT Skip([in] long Characters);
553 [id(0x0000271b)]
554 HRESULT SkipLine();
556 [id(0x0000271c)]
557 HRESULT Close();
561 odl,
562 uuid(2A0B9D10-4B87-11D3-A97A-00104B365C9F),
563 dual,
564 nonextensible,
565 oleautomation
567 interface IFileSystem3 : IFileSystem
569 [id(0x00004e20)]
570 HRESULT GetStandardStream([in] StandardStreamTypes StandardStreamType,
571 [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
573 [id(0x00004e2a)]
574 HRESULT GetFileVersion([in] BSTR FileName, [out, retval] BSTR* FileVersion);
578 odl,
579 uuid(AADC65F6-CFF1-11D1-B747-00C04FC2B085),
580 dual,
581 oleautomation
583 interface IScriptEncoder : IDispatch
585 [id(DISPID_VALUE)]
586 HRESULT EncodeScriptFile([in] BSTR szExt, [in] BSTR bstrStreamIn, [in] long cFlags,
587 [in] BSTR bstrDefaultLang, [out, retval] BSTR* pbstrStreamOut);
591 uuid(EE09B103-97E0-11CF-978F-00A02463E06F),
592 version(1.0),
593 helpstring("Scripting.Dictionary"),
594 threading(apartment),
595 progid("Scripting.Dictionary")
597 coclass Dictionary
599 [default] interface IDictionary;
603 uuid(0D43FE01-F093-11CF-8940-00A0C9054228),
604 version(1.0),
605 helpstring("FileSystem Object"),
606 threading(both),
607 progid("Scripting.FileSystemObject")
609 coclass FileSystemObject
611 [default] interface IFileSystem3;
615 uuid(C7C3F5B1-88A3-11D0-ABCB-00A0C90FFFC0),
616 noncreatable,
617 version(1.0)
619 coclass Drive
621 [default] interface IDrive;
625 uuid(C7C3F5B2-88A3-11D0-ABCB-00A0C90FFFC0),
626 noncreatable,
627 version(1.0)
629 coclass Drives
631 [default] interface IDriveCollection;
635 uuid(C7C3F5B3-88A3-11D0-ABCB-00A0C90FFFC0),
636 noncreatable,
637 version(1.0)
639 coclass Folder
641 [default] interface IFolder;
645 uuid(C7C3F5B4-88A3-11D0-ABCB-00A0C90FFFC0),
646 noncreatable,
647 version(1.0)
649 coclass Folders
651 [default] interface IFolderCollection;
655 uuid(C7C3F5B5-88A3-11D0-ABCB-00A0C90FFFC0),
656 noncreatable,
657 version(1.0)
659 coclass File
661 [default] interface IFile;
665 uuid(C7C3F5B6-88A3-11D0-ABCB-00A0C90FFFC0),
666 noncreatable,
667 version(1.0)
669 coclass Files
671 [default] interface IFileCollection;
675 uuid(0BB02EC0-EF49-11CF-8940-00A0C9054228),
676 noncreatable,
677 version(1.0)
679 coclass TextStream
681 [default] interface ITextStream;
685 uuid(32DA2B15-CFED-11D1-B747-00C04FC2B085),
686 version(1.0),
687 helpstring("Script Encoder Object"),
688 threading(apartment),
689 progid("Scripting.Encoder")
691 coclass Encoder
693 [default] interface IScriptEncoder;