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
25 cpp_quote
("#ifdef WINE_NO_UNICODE_MACROS")
26 cpp_quote
("#undef CopyFile")
27 cpp_quote
("#undef DeleteFile")
28 cpp_quote
("#undef MoveFile")
30 cpp_quote
("#define CTL_E_ENDOFFILE STD_CTL_SCODE(62)") /* this is not defined in public headers */
33 uuid(420B2830
-E718
-11CF
-893D
-00A0C9054228
),
38 importlib
("stdole2.tlb");
42 typedef enum CompareMethod
60 TristateUseDefault
= -2,
64 typedef enum FileAttribute
77 typedef enum SpecialFolderConst
84 typedef enum DriveTypeConst
94 typedef enum StandardStreamTypes
99 } StandardStreamTypes
;
103 uuid(42C642C1
-97E1
-11CF
-978F
-00A02463E06F
),
108 interface IDictionary
: IDispatch
110 [id(DISPID_VALUE
), propputref]
111 HRESULT Item
([in] VARIANT* Key
, [in] VARIANT* pRetItem
);
113 [id(DISPID_VALUE
), propput]
114 HRESULT Item
([in] VARIANT* Key
, [in] VARIANT* pRetItem
);
116 [id(DISPID_VALUE
), propget]
117 HRESULT Item
([in] VARIANT* Key
, [out, retval] VARIANT* pRetItem
);
120 HRESULT Add
([in] VARIANT* Key
, [in] VARIANT* Item
);
122 [id(0x00000002), propget]
123 HRESULT Count
([out, retval] long* pCount
);
126 HRESULT Exists
([in] VARIANT* Key
, [out, retval] VARIANT_BOOL* pExists
);
129 HRESULT Items
([out, retval] VARIANT* pItemsArray
);
131 [id(0x00000005), propput]
132 HRESULT Key
([in] VARIANT* Key
, [in] VARIANT* rhs
);
135 HRESULT Keys
([out, retval] VARIANT* pKeysArray
);
138 HRESULT Remove
([in] VARIANT* Key
);
143 [id(0x00000009), propput]
144 HRESULT CompareMode
([in] CompareMethod pcomp
);
146 [id(0x00000009), propget]
147 HRESULT CompareMode
([out, retval] CompareMethod
* pcomp
);
149 [id(DISPID_NEWENUM
), restricted]
150 HRESULT _NewEnum
([out, retval] IUnknown
** ppunk
);
152 [id(0x0000000a), propget, hidden]
153 HRESULT HashVal
([in] VARIANT* Key
, [out, retval] VARIANT* HashVal
);
158 uuid(C7C3F5A0
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
164 interface IDrive
: IDispatch
166 [id(DISPID_VALUE
), propget]
167 HRESULT Path
([out, retval] BSTR* pbstrPath
);
169 [id(0x00002710), propget]
170 HRESULT DriveLetter
([out, retval] BSTR* pbstrLetter
);
172 [id(0x00002711), propget]
173 HRESULT ShareName
([out, retval] BSTR* pbstrShareName
);
175 [id(0x00002712), propget]
176 HRESULT DriveType
([out, retval] DriveTypeConst
* pdt
);
178 [id(0x00002713), propget]
179 HRESULT RootFolder
([out, retval] IFolder
** ppfolder
);
181 [id(0x00002715), propget]
182 HRESULT AvailableSpace
([out, retval] VARIANT* pvarAvail
);
184 [id(0x00002714), propget]
185 HRESULT FreeSpace
([out, retval] VARIANT* pvarFree
);
187 [id(0x00002716), propget]
188 HRESULT TotalSize
([out, retval] VARIANT* pvarTotal
);
190 [id(0x00002717), propget]
191 HRESULT VolumeName
([out, retval] BSTR* pbstrName
);
193 [id(0x00002717), propput]
194 HRESULT VolumeName
([in] BSTR pbstrName
);
196 [id(0x00002718), propget]
197 HRESULT FileSystem
([out, retval] BSTR* pbstrFileSystem
);
199 [id(0x00002719), propget]
200 HRESULT SerialNumber
([out, retval] long* pulSerialNumber
);
202 [id(0x0000271a), propget]
203 HRESULT IsReady
([out, retval] VARIANT_BOOL* pfReady
);
208 uuid(C7C3F5A1
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
214 interface IDriveCollection
: IDispatch
{
215 [id(DISPID_VALUE
), propget]
216 HRESULT Item
([in] VARIANT Key
, [out, retval] IDrive
** ppdrive
);
218 [id(DISPID_NEWENUM
), propget, restricted, hidden]
219 HRESULT _NewEnum
([out, retval] IUnknown
** ppenum
);
221 [id(0x00000001), propget]
222 HRESULT Count
([out, retval] long* plCount
);
227 uuid(53BAD8C1
-E718
-11CF
-893D
-00A0C9054228
),
233 interface ITextStream
: IDispatch
235 [id(0x00002710), propget]
236 HRESULT Line
([out, retval] long* Line
);
238 [id(0xfffffdef), propget]
239 HRESULT Column
([out, retval] long* Column
);
241 [id(0x00002712), propget]
242 HRESULT AtEndOfStream
([out, retval] VARIANT_BOOL* EOS
);
244 [id(0x00002713), propget]
245 HRESULT AtEndOfLine
([out, retval] VARIANT_BOOL* EOL
);
248 HRESULT Read
([in] long Characters
, [out, retval] BSTR* Text
);
251 HRESULT ReadLine
([out, retval] BSTR* Text
);
254 HRESULT ReadAll
([out, retval] BSTR* Text
);
257 HRESULT Write
([in] BSTR Text
);
260 HRESULT WriteLine
([in, defaultvalue("")] BSTR Text
);
263 HRESULT WriteBlankLines
([in] long Lines
);
266 HRESULT Skip
([in] long Characters
);
277 uuid(C7C3F5A4
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
283 interface IFile
: IDispatch
285 [id(DISPID_VALUE
), propget]
286 HRESULT Path
([out, retval] BSTR* pbstrPath
);
288 [id(0x000003e8), propget]
289 HRESULT Name
([out, retval] BSTR* pbstrName
);
291 [id(0x000003e8), propput]
292 HRESULT Name
([in] BSTR pbstrName
);
294 [id(0x000003ea), propget]
295 HRESULT ShortPath
([out, retval] BSTR* pbstrPath
);
297 [id(0x000003e9), propget]
298 HRESULT ShortName
([out, retval] BSTR* pbstrName
);
300 [id(0x000003ec), propget]
301 HRESULT Drive
([out, retval] IDrive
** ppdrive
);
303 [id(0x000003ed), propget]
304 HRESULT ParentFolder
([out, retval] IFolder
** ppfolder
);
306 [id(0x000003eb), propget]
307 HRESULT Attributes
([out, retval] FileAttribute
* pfa
);
309 [id(0x000003eb), propput]
310 HRESULT Attributes
([in] FileAttribute pfa
);
312 [id(0x000003ee), propget]
313 HRESULT DateCreated
([out, retval] DATE
* pdate
);
315 [id(0x000003ef), propget]
316 HRESULT DateLastModified
([out, retval] DATE
* pdate
);
318 [id(0x000003f0), propget]
319 HRESULT DateLastAccessed
([out, retval] DATE
* pdate
);
321 [id(0x000003f1), propget]
322 HRESULT Size
([out, retval] VARIANT* pvarSize
);
324 [id(0x000003f2), propget]
325 HRESULT Type
([out, retval] BSTR* pbstrType
);
328 HRESULT Delete
([in, defaultvalue(0)] VARIANT_BOOL Force
);
331 HRESULT Copy
([in] BSTR Destination
, [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles
);
334 HRESULT Move
([in] BSTR Destination
);
337 HRESULT OpenAsTextStream
([in, defaultvalue(1)] IOMode IOMode
,
338 [in, defaultvalue(0)] Tristate Format
, [out, retval] ITextStream
** ppts
);
343 uuid(0AB5A3D0
-E5B6
-11D0
-ABF5
-00A0C90FFFC0
),
349 interface IFileSystem
: IDispatch
351 [id(0x0000271a), propget]
352 HRESULT Drives
([out, retval] IDriveCollection
** ppdrives
);
355 HRESULT BuildPath
([in] BSTR Path
, [in] BSTR Name
, [out, retval] BSTR* pbstrResult
);
358 HRESULT GetDriveName
([in] BSTR Path
, [out, retval] BSTR* pbstrResult
);
361 HRESULT GetParentFolderName
([in] BSTR Path
, [out, retval] BSTR* pbstrResult
);
364 HRESULT GetFileName
([in] BSTR Path
, [out, retval] BSTR* pbstrResult
);
367 HRESULT GetBaseName
([in] BSTR Path
, [out, retval] BSTR* pbstrResult
);
370 HRESULT GetExtensionName
([in] BSTR Path
, [out, retval] BSTR* pbstrResult
);
373 HRESULT GetAbsolutePathName
([in] BSTR Path
, [out, retval] BSTR* pbstrResult
);
376 HRESULT GetTempName
([out, retval] BSTR* pbstrResult
);
379 HRESULT DriveExists
([in] BSTR DriveSpec
, [out, retval] VARIANT_BOOL* pfExists
);
382 HRESULT FileExists
([in] BSTR FileSpec
, [out, retval] VARIANT_BOOL* pfExists
);
385 HRESULT FolderExists
([in] BSTR FolderSpec
, [out, retval] VARIANT_BOOL* pfExists
);
388 HRESULT GetDrive
([in] BSTR DriveSpec
, [out, retval] IDrive
** ppdrive
);
391 HRESULT GetFile
([in] BSTR FilePath
, [out, retval] IFile
** ppfile
);
394 HRESULT GetFolder
([in] BSTR FolderPath
, [out, retval] IFolder
** ppfolder
);
397 HRESULT GetSpecialFolder
([in] SpecialFolderConst SpecialFolder
, [out, retval] IFolder
** ppfolder
);
400 HRESULT DeleteFile
([in] BSTR FileSpec
, [in, defaultvalue(0)] VARIANT_BOOL Force
);
403 HRESULT DeleteFolder
([in] BSTR FolderSpec
, [in, defaultvalue(0)] VARIANT_BOOL Force
);
405 [id(0x000004b4), helpstring("Move a file"), helpcontext(0x00214bab)]
406 HRESULT MoveFile
([in] BSTR Source, [in] BSTR Destination
);
409 HRESULT MoveFolder
([in] BSTR Source, [in] BSTR Destination
);
412 HRESULT CopyFile
([in] BSTR Source, [in] BSTR Destination
,
413 [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles
);
416 HRESULT CopyFolder
([in] BSTR Source, [in] BSTR Destination
,
417 [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles
);
420 HRESULT CreateFolder
([in] BSTR Path
, [out, retval] IFolder
** ppfolder
);
423 HRESULT CreateTextFile
([in] BSTR FileName
, [in, defaultvalue(-1)] VARIANT_BOOL Overwrite
,
424 [in, defaultvalue(0)] VARIANT_BOOL Unicode
, [out, retval] ITextStream
** ppts
);
427 HRESULT OpenTextFile
([in] BSTR FileName
, [in, defaultvalue(1)] IOMode IOMode
,
428 [in, defaultvalue(0)] VARIANT_BOOL Create
,
429 [in, defaultvalue(0)] Tristate Format
,
430 [out, retval] ITextStream
** ppts
);
435 uuid(C7C3F5A5
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
441 interface IFileCollection
: IDispatch
443 [id(DISPID_VALUE
), propget]
444 HRESULT Item
([in] VARIANT Key
, [out, retval] IFile
** ppfile
);
446 [id(DISPID_NEWENUM
), propget, restricted, hidden]
447 HRESULT _NewEnum
([out, retval] IUnknown
** ppenum
);
449 [id(0x00000001), propget]
450 HRESULT Count
([out, retval] long* plCount
);
455 uuid(C7C3F5A3
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
461 interface IFolderCollection
: IDispatch
464 HRESULT Add
([in] BSTR Name
, [out, retval] IFolder
** ppfolder
);
466 [id(DISPID_VALUE
), propget]
467 HRESULT Item
([in] VARIANT Key
, [out, retval] IFolder
** ppfolder
);
469 [id(DISPID_NEWENUM
), propget, restricted, hidden]
470 HRESULT _NewEnum
([out, retval] IUnknown
** ppenum
);
472 [id(0x00000001), propget]
473 HRESULT Count
([out, retval] long* plCount
);
478 uuid(C7C3F5A2
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
484 interface IFolder
: IDispatch
486 [id(DISPID_VALUE
), propget]
487 HRESULT Path
([out, retval] BSTR* pbstrPath
);
489 [id(0x000003e8), propget]
490 HRESULT Name
([out, retval] BSTR* pbstrName
);
492 [id(0x000003e8), propput]
493 HRESULT Name
([in] BSTR pbstrName
);
495 [id(0x000003ea), propget]
496 HRESULT ShortPath
([out, retval] BSTR* pbstrPath
);
498 [id(0x000003e9), propget]
499 HRESULT ShortName
([out, retval] BSTR* pbstrName
);
501 [id(0x000003ec), propget]
502 HRESULT Drive
([out, retval] IDrive
** ppdrive
);
504 [id(0x000003ed), propget]
505 HRESULT ParentFolder
([out, retval] IFolder
** ppfolder
);
507 [id(0x000003eb), propget]
508 HRESULT Attributes
([out, retval] FileAttribute
* pfa
);
510 [id(0x000003eb), propput]
511 HRESULT Attributes
([in] FileAttribute pfa
);
513 [id(0x000003ee), propget]
514 HRESULT DateCreated
([out, retval] DATE
* pdate
);
516 [id(0x000003ef), propget]
517 HRESULT DateLastModified
([out, retval] DATE
* pdate
);
519 [id(0x000003f0), propget]
520 HRESULT DateLastAccessed
([out, retval] DATE
* pdate
);
522 [id(0x000003f2), propget]
523 HRESULT Type
([out, retval] BSTR* pbstrType
);
526 HRESULT Delete
([in, defaultvalue(0)] VARIANT_BOOL Force
);
529 HRESULT Copy
([in] BSTR Destination
, [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles
);
532 HRESULT Move
([in] BSTR Destination
);
534 [id(0x00002710), propget]
535 HRESULT IsRootFolder
([out, retval] VARIANT_BOOL* pfRootFolder
);
537 [id(0x000003f1), propget]
538 HRESULT Size
([out, retval] VARIANT* pvarSize
);
540 [id(0x00002711), propget]
541 HRESULT SubFolders
([out, retval] IFolderCollection
** ppfolders
);
543 [id(0x00002712), propget]
544 HRESULT Files
([out, retval] IFileCollection
** ppfiles
);
547 HRESULT CreateTextFile
([in] BSTR FileName
, [in, defaultvalue(-1)] VARIANT_BOOL Overwrite
,
548 [in, defaultvalue(0)] VARIANT_BOOL Unicode
, [out, retval] ITextStream
** ppts
);
553 uuid(2A0B9D10
-4B87
-11D3
-A97A
-00104B365C9F
),
558 interface IFileSystem3
: IFileSystem
561 HRESULT GetStandardStream
([in] StandardStreamTypes StandardStreamType
,
562 [in, defaultvalue(0)] VARIANT_BOOL Unicode
, [out, retval] ITextStream
** ppts
);
565 HRESULT GetFileVersion
([in] BSTR FileName
, [out, retval] BSTR* FileVersion
);
570 uuid(AADC65F6
-CFF1
-11D1
-B747
-00C04FC2B085
),
574 interface IScriptEncoder
: IDispatch
577 HRESULT EncodeScriptFile
([in] BSTR szExt
, [in] BSTR bstrStreamIn
, [in] long cFlags
,
578 [in] BSTR bstrDefaultLang
, [out, retval] BSTR* pbstrStreamOut
);
582 uuid(EE09B103
-97E0
-11CF
-978F
-00A02463E06F
),
584 helpstring("Scripting.Dictionary"),
585 threading
(apartment
),
586 progid
("Scripting.Dictionary")
590 [default] interface IDictionary
;
594 uuid(0D43FE01
-F093
-11CF
-8940-00A0C9054228
),
596 helpstring("FileSystem Object"),
598 progid
("Scripting.FileSystemObject")
600 coclass FileSystemObject
602 [default] interface IFileSystem3
;
606 uuid(C7C3F5B1
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
612 [default] interface IDrive
;
616 uuid(C7C3F5B2
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
622 [default] interface IDriveCollection
;
626 uuid(C7C3F5B3
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
632 [default] interface IFolder
;
636 uuid(C7C3F5B4
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
642 [default] interface IFolderCollection
;
646 uuid(C7C3F5B5
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
652 [default] interface IFile
;
656 uuid(C7C3F5B6
-88A3
-11D0
-ABCB
-00A0C90FFFC0
),
662 [default] interface IFileCollection
;
666 uuid(0BB02EC0
-EF49
-11CF
-8940-00A0C9054228
),
672 [default] interface ITextStream
;
676 uuid(32DA2B15
-CFED
-11D1
-B747
-00C04FC2B085
),
678 helpstring("Script Encoder Object"),
679 threading
(apartment
),
680 progid
("Scripting.Encoder")
684 [default] interface IScriptEncoder
;