| /* |
| * Copyright (C) 2012 Alistair Leslie-Hughes |
| * |
| * This library is free software; you can redistribute it and/or |
| * modify it under the terms of the GNU Lesser General Public |
| * License as published by the Free Software Foundation; either |
| * version 2.1 of the License, or (at your option) any later version. |
| * |
| * This library is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
| * Lesser General Public License for more details. |
| * |
| * You should have received a copy of the GNU Lesser General Public |
| * License along with this library; if not, write to the Free Software |
| * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA |
| */ |
| |
| #pragma makedep regtypelib |
| |
| import "unknwn.idl"; |
| import "objidl.idl"; |
| import "oaidl.idl"; |
| |
| cpp_quote("#ifdef WINE_NO_UNICODE_MACROS") |
| cpp_quote("#undef CopyFile") |
| cpp_quote("#undef DeleteFile") |
| cpp_quote("#undef MoveFile") |
| cpp_quote("#endif") |
| /* this is not defined in public headers */ |
| cpp_quote("#define CTL_E_ENDOFFILE STD_CTL_SCODE(62)") |
| cpp_quote("#define CTL_E_KEY_ALREADY_EXISTS STD_CTL_SCODE(457)") |
| cpp_quote("#define CTL_E_ELEMENT_NOT_FOUND STD_CTL_SCODE(32811)") |
| |
| [ |
| uuid(420B2830-E718-11CF-893D-00A0C9054228), |
| version(1.0) |
| ] |
| library Scripting |
| { |
| importlib("stdole2.tlb"); |
| |
| interface IFolder; |
| |
| typedef enum CompareMethod |
| { |
| BinaryCompare, |
| TextCompare, |
| DatabaseCompare |
| } CompareMethod; |
| |
| typedef enum IOMode |
| { |
| ForReading = 1, |
| ForWriting = 2, |
| ForAppending = 8 |
| } IOMode; |
| |
| typedef enum Tristate |
| { |
| TristateTrue = -1, |
| TristateFalse = 0, |
| TristateUseDefault = -2, |
| TristateMixed = -2 |
| } Tristate; |
| |
| typedef enum FileAttribute |
| { |
| Normal = 0, |
| ReadOnly = 1, |
| Hidden = 2, |
| System = 4, |
| Volume = 8, |
| Directory = 16, |
| Archive = 32, |
| Alias = 1024, |
| Compressed = 2048 |
| } FileAttribute; |
| |
| typedef enum SpecialFolderConst |
| { |
| WindowsFolder, |
| SystemFolder, |
| TemporaryFolder |
| } SpecialFolderConst; |
| |
| typedef enum DriveTypeConst |
| { |
| UnknownType, |
| Removable, |
| Fixed, |
| Remote, |
| CDRom, |
| RamDisk |
| } DriveTypeConst; |
| |
| typedef enum StandardStreamTypes |
| { |
| StdIn, |
| StdOut, |
| StdErr |
| } StandardStreamTypes; |
| |
| [ |
| odl, |
| uuid(42C642C1-97E1-11CF-978F-00A02463E06F), |
| hidden, |
| dual, |
| oleautomation |
| ] |
| interface IDictionary : IDispatch |
| { |
| [id(DISPID_VALUE), propputref] |
| HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem); |
| |
| [id(DISPID_VALUE), propput] |
| HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem); |
| |
| [id(DISPID_VALUE), propget] |
| HRESULT Item([in] VARIANT* Key, [out, retval] VARIANT* pRetItem); |
| |
| [id(0x00000001)] |
| HRESULT Add([in] VARIANT* Key, [in] VARIANT* Item); |
| |
| [id(0x00000002), propget] |
| HRESULT Count([out, retval] long* pCount); |
| |
| [id(0x00000003)] |
| HRESULT Exists([in] VARIANT* Key, [out, retval] VARIANT_BOOL* pExists); |
| |
| [id(0x00000004)] |
| HRESULT Items([out, retval] VARIANT* pItemsArray); |
| |
| [id(0x00000005), propput] |
| HRESULT Key([in] VARIANT* Key, [in] VARIANT* rhs); |
| |
| [id(0x00000006)] |
| HRESULT Keys([out, retval] VARIANT* pKeysArray); |
| |
| [id(0x00000007)] |
| HRESULT Remove([in] VARIANT* Key); |
| |
| [id(0x00000008)] |
| HRESULT RemoveAll(); |
| |
| [id(0x00000009), propput] |
| HRESULT CompareMode([in] CompareMethod pcomp); |
| |
| [id(0x00000009), propget] |
| HRESULT CompareMode([out, retval] CompareMethod* pcomp); |
| |
| [id(DISPID_NEWENUM), restricted] |
| HRESULT _NewEnum([out, retval] IUnknown** ppunk); |
| |
| [id(0x0000000a), propget, hidden] |
| HRESULT HashVal([in] VARIANT* Key, [out, retval] VARIANT* HashVal); |
| } |
| |
| [ |
| odl, |
| uuid(C7C3F5A0-88A3-11D0-ABCB-00A0C90FFFC0), |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IDrive : IDispatch |
| { |
| [id(DISPID_VALUE), propget] |
| HRESULT Path([out, retval] BSTR* pbstrPath); |
| |
| [id(0x00002710), propget] |
| HRESULT DriveLetter([out, retval] BSTR* pbstrLetter); |
| |
| [id(0x00002711), propget] |
| HRESULT ShareName([out, retval] BSTR* pbstrShareName); |
| |
| [id(0x00002712), propget] |
| HRESULT DriveType([out, retval] DriveTypeConst* pdt); |
| |
| [id(0x00002713), propget] |
| HRESULT RootFolder([out, retval] IFolder** ppfolder); |
| |
| [id(0x00002715), propget] |
| HRESULT AvailableSpace([out, retval] VARIANT* pvarAvail); |
| |
| [id(0x00002714), propget] |
| HRESULT FreeSpace([out, retval] VARIANT* pvarFree); |
| |
| [id(0x00002716), propget] |
| HRESULT TotalSize([out, retval] VARIANT* pvarTotal); |
| |
| [id(0x00002717), propget] |
| HRESULT VolumeName([out, retval] BSTR* pbstrName); |
| |
| [id(0x00002717), propput] |
| HRESULT VolumeName([in] BSTR pbstrName); |
| |
| [id(0x00002718), propget] |
| HRESULT FileSystem([out, retval] BSTR* pbstrFileSystem); |
| |
| [id(0x00002719), propget] |
| HRESULT SerialNumber([out, retval] long* pulSerialNumber); |
| |
| [id(0x0000271a), propget] |
| HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady); |
| } |
| |
| [ |
| odl, |
| uuid(C7C3F5A1-88A3-11D0-ABCB-00A0C90FFFC0), |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IDriveCollection : IDispatch { |
| [id(DISPID_VALUE), propget] |
| HRESULT Item([in] VARIANT Key, [out, retval] IDrive** ppdrive); |
| |
| [id(DISPID_NEWENUM), propget, restricted, hidden] |
| HRESULT _NewEnum([out, retval] IUnknown** ppenum); |
| |
| [id(0x00000001), propget] |
| HRESULT Count([out, retval] long* plCount); |
| } |
| |
| [ |
| odl, |
| uuid(53BAD8C1-E718-11CF-893D-00A0C9054228), |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface ITextStream : IDispatch |
| { |
| [id(0x00002710), propget] |
| HRESULT Line([out, retval] long* Line); |
| |
| [id(0xfffffdef), propget] |
| HRESULT Column([out, retval] long* Column); |
| |
| [id(0x00002712), propget] |
| HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS); |
| |
| [id(0x00002713), propget] |
| HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL); |
| |
| [id(0x00002714)] |
| HRESULT Read([in] long Characters, [out, retval] BSTR* Text); |
| |
| [id(0x00002715)] |
| HRESULT ReadLine([out, retval] BSTR* Text); |
| |
| [id(0x00002716)] |
| HRESULT ReadAll([out, retval] BSTR* Text); |
| |
| [id(0x00002717)] |
| HRESULT Write([in] BSTR Text); |
| |
| [id(0x00002718)] |
| HRESULT WriteLine([in, defaultvalue("")] BSTR Text); |
| |
| [id(0x00002719)] |
| HRESULT WriteBlankLines([in] long Lines); |
| |
| [id(0x0000271a)] |
| HRESULT Skip([in] long Characters); |
| |
| [id(0x0000271b)] |
| HRESULT SkipLine(); |
| |
| [id(0x0000271c)] |
| HRESULT Close(); |
| } |
| |
| [ |
| odl, |
| uuid(C7C3F5A4-88A3-11D0-ABCB-00A0C90FFFC0), |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFile : IDispatch |
| { |
| [id(DISPID_VALUE), propget] |
| HRESULT Path([out, retval] BSTR* pbstrPath); |
| |
| [id(0x000003e8), propget] |
| HRESULT Name([out, retval] BSTR* pbstrName); |
| |
| [id(0x000003e8), propput] |
| HRESULT Name([in] BSTR pbstrName); |
| |
| [id(0x000003ea), propget] |
| HRESULT ShortPath([out, retval] BSTR* pbstrPath); |
| |
| [id(0x000003e9), propget] |
| HRESULT ShortName([out, retval] BSTR* pbstrName); |
| |
| [id(0x000003ec), propget] |
| HRESULT Drive([out, retval] IDrive** ppdrive); |
| |
| [id(0x000003ed), propget] |
| HRESULT ParentFolder([out, retval] IFolder** ppfolder); |
| |
| [id(0x000003eb), propget] |
| HRESULT Attributes([out, retval] FileAttribute* pfa); |
| |
| [id(0x000003eb), propput] |
| HRESULT Attributes([in] FileAttribute pfa); |
| |
| [id(0x000003ee), propget] |
| HRESULT DateCreated([out, retval] DATE* pdate); |
| |
| [id(0x000003ef), propget] |
| HRESULT DateLastModified([out, retval] DATE* pdate); |
| |
| [id(0x000003f0), propget] |
| HRESULT DateLastAccessed([out, retval] DATE* pdate); |
| |
| [id(0x000003f1), propget] |
| HRESULT Size([out, retval] VARIANT* pvarSize); |
| |
| [id(0x000003f2), propget] |
| HRESULT Type([out, retval] BSTR* pbstrType); |
| |
| [id(0x000004b0)] |
| HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL Force); |
| |
| [id(0x000004b2)] |
| HRESULT Copy([in] BSTR Destination, [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles); |
| |
| [id(0x000004b4)] |
| HRESULT Move([in] BSTR Destination); |
| |
| [id(0x0000044c)] |
| HRESULT OpenAsTextStream([in, defaultvalue(1)] IOMode IOMode, |
| [in, defaultvalue(0)] Tristate Format, [out, retval] ITextStream** ppts); |
| } |
| |
| [ |
| odl, |
| uuid(0AB5A3D0-E5B6-11D0-ABF5-00A0C90FFFC0), |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFileSystem : IDispatch |
| { |
| [id(0x0000271a), propget] |
| HRESULT Drives([out, retval] IDriveCollection** ppdrives); |
| |
| [id(0x00002710)] |
| HRESULT BuildPath([in] BSTR Path, [in] BSTR Name, [out, retval] BSTR* pbstrResult); |
| |
| [id(0x00002714)] |
| HRESULT GetDriveName([in] BSTR Path, [out, retval] BSTR* pbstrResult); |
| |
| [id(0x00002715)] |
| HRESULT GetParentFolderName([in] BSTR Path, [out, retval] BSTR* pbstrResult); |
| |
| [id(0x00002716)] |
| HRESULT GetFileName([in] BSTR Path, [out, retval] BSTR* pbstrResult); |
| |
| [id(0x00002717)] |
| HRESULT GetBaseName([in] BSTR Path, [out, retval] BSTR* pbstrResult); |
| |
| [id(0x00002718)] |
| HRESULT GetExtensionName([in] BSTR Path, [out, retval] BSTR* pbstrResult); |
| |
| [id(0x00002712)] |
| HRESULT GetAbsolutePathName([in] BSTR Path, [out, retval] BSTR* pbstrResult); |
| |
| [id(0x00002713)] |
| HRESULT GetTempName([out, retval] BSTR* pbstrResult); |
| |
| [id(0x0000271f)] |
| HRESULT DriveExists([in] BSTR DriveSpec, [out, retval] VARIANT_BOOL* pfExists); |
| |
| [id(0x00002720)] |
| HRESULT FileExists([in] BSTR FileSpec, [out, retval] VARIANT_BOOL* pfExists); |
| |
| [id(0x00002721)] |
| HRESULT FolderExists([in] BSTR FolderSpec, [out, retval] VARIANT_BOOL* pfExists); |
| |
| [id(0x0000271b)] |
| HRESULT GetDrive([in] BSTR DriveSpec, [out, retval] IDrive** ppdrive); |
| |
| [id(0x0000271c)] |
| HRESULT GetFile([in] BSTR FilePath, [out, retval] IFile** ppfile); |
| |
| [id(0x0000271d)] |
| HRESULT GetFolder([in] BSTR FolderPath, [out, retval] IFolder** ppfolder); |
| |
| [id(0x0000271e)] |
| HRESULT GetSpecialFolder([in] SpecialFolderConst SpecialFolder, [out, retval] IFolder** ppfolder); |
| |
| [id(0x000004b0)] |
| HRESULT DeleteFile([in] BSTR FileSpec, [in, defaultvalue(0)] VARIANT_BOOL Force); |
| |
| [id(0x000004b1)] |
| HRESULT DeleteFolder([in] BSTR FolderSpec, [in, defaultvalue(0)] VARIANT_BOOL Force); |
| |
| [id(0x000004b4), helpstring("Move a file"), helpcontext(0x00214bab)] |
| HRESULT MoveFile([in] BSTR Source, [in] BSTR Destination); |
| |
| [id(0x000004b5)] |
| HRESULT MoveFolder([in] BSTR Source, [in] BSTR Destination); |
| |
| [id(0x000004b2)] |
| HRESULT CopyFile([in] BSTR Source, [in] BSTR Destination, |
| [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles); |
| |
| [id(0x000004b3)] |
| HRESULT CopyFolder([in] BSTR Source, [in] BSTR Destination, |
| [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles); |
| |
| [id(0x00000460)] |
| HRESULT CreateFolder([in] BSTR Path, [out, retval] IFolder** ppfolder); |
| |
| [id(0x0000044d)] |
| HRESULT CreateTextFile([in] BSTR FileName, [in, defaultvalue(-1)] VARIANT_BOOL Overwrite, |
| [in, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts); |
| |
| [id(0x0000044c)] |
| HRESULT OpenTextFile([in] BSTR FileName, [in, defaultvalue(1)] IOMode IOMode, |
| [in, defaultvalue(0)] VARIANT_BOOL Create, |
| [in, defaultvalue(0)] Tristate Format, |
| [out, retval] ITextStream** ppts); |
| } |
| |
| [ |
| odl, |
| uuid(C7C3F5A5-88A3-11D0-ABCB-00A0C90FFFC0), |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFileCollection : IDispatch |
| { |
| [id(DISPID_VALUE), propget] |
| HRESULT Item([in] VARIANT Key, [out, retval] IFile** ppfile); |
| |
| [id(DISPID_NEWENUM), propget, restricted, hidden] |
| HRESULT _NewEnum([out, retval] IUnknown** ppenum); |
| |
| [id(0x00000001), propget] |
| HRESULT Count([out, retval] long* plCount); |
| } |
| |
| [ |
| odl, |
| uuid(C7C3F5A3-88A3-11D0-ABCB-00A0C90FFFC0), |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFolderCollection : IDispatch |
| { |
| [id(0x00000002)] |
| HRESULT Add([in] BSTR Name, [out, retval] IFolder** ppfolder); |
| |
| [id(DISPID_VALUE), propget] |
| HRESULT Item([in] VARIANT Key, [out, retval] IFolder** ppfolder); |
| |
| [id(DISPID_NEWENUM), propget, restricted, hidden] |
| HRESULT _NewEnum([out, retval] IUnknown** ppenum); |
| |
| [id(0x00000001), propget] |
| HRESULT Count([out, retval] long* plCount); |
| } |
| |
| [ |
| odl, |
| uuid(C7C3F5A2-88A3-11D0-ABCB-00A0C90FFFC0), |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFolder : IDispatch |
| { |
| [id(DISPID_VALUE), propget] |
| HRESULT Path([out, retval] BSTR* pbstrPath); |
| |
| [id(0x000003e8), propget] |
| HRESULT Name([out, retval] BSTR* pbstrName); |
| |
| [id(0x000003e8), propput] |
| HRESULT Name([in] BSTR pbstrName); |
| |
| [id(0x000003ea), propget] |
| HRESULT ShortPath([out, retval] BSTR* pbstrPath); |
| |
| [id(0x000003e9), propget] |
| HRESULT ShortName([out, retval] BSTR* pbstrName); |
| |
| [id(0x000003ec), propget] |
| HRESULT Drive([out, retval] IDrive** ppdrive); |
| |
| [id(0x000003ed), propget] |
| HRESULT ParentFolder([out, retval] IFolder** ppfolder); |
| |
| [id(0x000003eb), propget] |
| HRESULT Attributes([out, retval] FileAttribute* pfa); |
| |
| [id(0x000003eb), propput] |
| HRESULT Attributes([in] FileAttribute pfa); |
| |
| [id(0x000003ee), propget] |
| HRESULT DateCreated([out, retval] DATE* pdate); |
| |
| [id(0x000003ef), propget] |
| HRESULT DateLastModified([out, retval] DATE* pdate); |
| |
| [id(0x000003f0), propget] |
| HRESULT DateLastAccessed([out, retval] DATE* pdate); |
| |
| [id(0x000003f2), propget] |
| HRESULT Type([out, retval] BSTR* pbstrType); |
| |
| [id(0x000004b1)] |
| HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL Force); |
| |
| [id(0x000004b3)] |
| HRESULT Copy([in] BSTR Destination, [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles); |
| |
| [id(0x000004b5)] |
| HRESULT Move([in] BSTR Destination); |
| |
| [id(0x00002710), propget] |
| HRESULT IsRootFolder([out, retval] VARIANT_BOOL* pfRootFolder); |
| |
| [id(0x000003f1), propget] |
| HRESULT Size([out, retval] VARIANT* pvarSize); |
| |
| [id(0x00002711), propget] |
| HRESULT SubFolders([out, retval] IFolderCollection** ppfolders); |
| |
| [id(0x00002712), propget] |
| HRESULT Files([out, retval] IFileCollection** ppfiles); |
| |
| [id(0x0000044d)] |
| HRESULT CreateTextFile([in] BSTR FileName, [in, defaultvalue(-1)] VARIANT_BOOL Overwrite, |
| [in, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts); |
| } |
| |
| [ |
| odl, |
| uuid(2A0B9D10-4B87-11D3-A97A-00104B365C9F), |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFileSystem3 : IFileSystem |
| { |
| [id(0x00004e20)] |
| HRESULT GetStandardStream([in] StandardStreamTypes StandardStreamType, |
| [in, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts); |
| |
| [id(0x00004e2a)] |
| HRESULT GetFileVersion([in] BSTR FileName, [out, retval] BSTR* FileVersion); |
| } |
| |
| [ |
| odl, |
| uuid(AADC65F6-CFF1-11D1-B747-00C04FC2B085), |
| dual, |
| oleautomation |
| ] |
| interface IScriptEncoder : IDispatch |
| { |
| [id(DISPID_VALUE)] |
| HRESULT EncodeScriptFile([in] BSTR szExt, [in] BSTR bstrStreamIn, [in] long cFlags, |
| [in] BSTR bstrDefaultLang, [out, retval] BSTR* pbstrStreamOut); |
| } |
| |
| [ |
| uuid(EE09B103-97E0-11CF-978F-00A02463E06F), |
| version(1.0), |
| helpstring("Scripting.Dictionary"), |
| threading(apartment), |
| progid("Scripting.Dictionary") |
| ] |
| coclass Dictionary |
| { |
| [default] interface IDictionary; |
| } |
| |
| [ |
| uuid(0D43FE01-F093-11CF-8940-00A0C9054228), |
| version(1.0), |
| helpstring("FileSystem Object"), |
| threading(both), |
| progid("Scripting.FileSystemObject") |
| ] |
| coclass FileSystemObject |
| { |
| [default] interface IFileSystem3; |
| } |
| |
| [ |
| uuid(C7C3F5B1-88A3-11D0-ABCB-00A0C90FFFC0), |
| noncreatable, |
| version(1.0) |
| ] |
| coclass Drive |
| { |
| [default] interface IDrive; |
| } |
| |
| [ |
| uuid(C7C3F5B2-88A3-11D0-ABCB-00A0C90FFFC0), |
| noncreatable, |
| version(1.0) |
| ] |
| coclass Drives |
| { |
| [default] interface IDriveCollection; |
| } |
| |
| [ |
| uuid(C7C3F5B3-88A3-11D0-ABCB-00A0C90FFFC0), |
| noncreatable, |
| version(1.0) |
| ] |
| coclass Folder |
| { |
| [default] interface IFolder; |
| } |
| |
| [ |
| uuid(C7C3F5B4-88A3-11D0-ABCB-00A0C90FFFC0), |
| noncreatable, |
| version(1.0) |
| ] |
| coclass Folders |
| { |
| [default] interface IFolderCollection; |
| } |
| |
| [ |
| uuid(C7C3F5B5-88A3-11D0-ABCB-00A0C90FFFC0), |
| noncreatable, |
| version(1.0) |
| ] |
| coclass File |
| { |
| [default] interface IFile; |
| } |
| |
| [ |
| uuid(C7C3F5B6-88A3-11D0-ABCB-00A0C90FFFC0), |
| noncreatable, |
| version(1.0) |
| ] |
| coclass Files |
| { |
| [default] interface IFileCollection; |
| } |
| |
| [ |
| uuid(0BB02EC0-EF49-11CF-8940-00A0C9054228), |
| noncreatable, |
| version(1.0) |
| ] |
| coclass TextStream |
| { |
| [default] interface ITextStream; |
| } |
| |
| [ |
| uuid(32DA2B15-CFED-11D1-B747-00C04FC2B085), |
| version(1.0), |
| helpstring("Script Encoder Object"), |
| threading(apartment), |
| progid("Scripting.Encoder") |
| ] |
| coclass Encoder |
| { |
| [default] interface IScriptEncoder; |
| } |
| } |