| /* |
| * Copyright 2011 Jacek Caban for CodeWeavers |
| * |
| * 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 |
| */ |
| |
| import "oaidl.idl"; |
| cpp_quote("#undef ExpandEnvironmentStrings") |
| |
| [ |
| helpstring("Windows Script Host Object Model"), |
| uuid(f935dc20-1cf0-11d0-adb9-00c04fd58a0b), |
| version(1.0) |
| ] |
| library IWshRuntimeLibrary |
| { |
| importlib("stdole2.tlb"); |
| |
| typedef enum { |
| WshRunning = 0, |
| WshFinished, |
| WshFailed |
| } WshExecStatus; |
| |
| typedef enum { |
| UnknownType = 0, |
| Removable, |
| Fixed, |
| Remote, |
| CDRom, |
| RamDisk |
| } DriveTypeConst; |
| |
| typedef enum { |
| Normal = 0x000, |
| ReadOnly = 0x001, |
| Hidden = 0x002, |
| System = 0x004, |
| Volume = 0x008, |
| Directory = 0x010, |
| Archive = 0x020, |
| Alias = 0x400, |
| Compressed = 0x800 |
| } FileAttribute; |
| |
| typedef enum { |
| ForReading = 0x1, |
| ForWriting = 0x2, |
| ForAppending = 0x8 |
| } IOMode; |
| |
| typedef enum { |
| TristateTrue = -1, |
| TristateFalse = 0, |
| TristateUseDefault = -2, |
| TristateMixed = -2 |
| } Tristate; |
| |
| interface IFolder; |
| interface IFolderCollection; |
| |
| [ |
| uuid(53bad8c1-e718-11cf-893d-00a0c9054228), |
| odl, |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface ITextStream : IDispatch { |
| [id(0x2710), propget] |
| HRESULT Line([out, retval] long* Line); |
| |
| [id(0xfffffdef), propget] |
| HRESULT Column([out, retval] long* Column); |
| |
| [id(0x2712), propget] |
| HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS); |
| |
| [id(0x2713), propget] |
| HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL); |
| |
| [id(0x2714)] |
| HRESULT Read([in] long Characters, [out, retval] BSTR* Text); |
| |
| [id(0x2715)] |
| HRESULT ReadLine([out, retval] BSTR* Text); |
| |
| [id(0x2716)] |
| HRESULT ReadAll([out, retval] BSTR* Text); |
| |
| [id(0x2717)] |
| HRESULT Write([in] BSTR Text); |
| |
| [id(0x2718)] |
| HRESULT WriteLine([in, optional, defaultvalue("")] BSTR Text); |
| |
| [id(0x2719)] |
| HRESULT WriteBlankLines([in] long Lines); |
| |
| [id(0x271a)] |
| HRESULT Skip([in] long Characters); |
| |
| [id(0x271b)] |
| HRESULT SkipLine(); |
| |
| [id(0x271c)] |
| HRESULT Close(); |
| }; |
| |
| [ |
| uuid(c7c3f5a0-88a3-11d0-abcb-00a0c90fffc0), |
| odl, |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IDrive : IDispatch { |
| [id(DISPID_VALUE), propget] |
| HRESULT Path([out, retval] BSTR* path); |
| |
| [id(0x2710), propget] |
| HRESULT DriveLetter([out, retval] BSTR* letter); |
| |
| [id(0x2711), propget] |
| HRESULT ShareName([out, retval] BSTR* ShareName); |
| |
| [id(0x2712), propget] |
| HRESULT DriveType([out, retval] DriveTypeConst* type); |
| |
| [id(0x2713), propget] |
| HRESULT RootFolder([out, retval] IFolder** folder); |
| |
| [id(0x2715), propget] |
| HRESULT AvailableSpace([out, retval] VARIANT* Avail); |
| |
| [id(0x2714), propget] |
| HRESULT FreeSpace([out, retval] VARIANT* pFree); |
| |
| [id(0x2716), propget] |
| HRESULT TotalSize([out, retval] VARIANT* Total); |
| |
| [id(0x2717), propget] |
| HRESULT VolumeName([out, retval] BSTR* Name); |
| |
| [id(0x2717), propput] |
| HRESULT VolumeName([in] BSTR Name); |
| |
| [id(0x2718), propget] |
| HRESULT FileSystem([out, retval] BSTR* pFileSystem); |
| |
| [id(0x2719), propget] |
| HRESULT SerialNumber([out, retval] long* SerialNumber); |
| |
| [id(0x271a), propget] |
| HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady); |
| }; |
| |
| [ |
| uuid(c7c3f5a4-88a3-11d0-abcb-00a0c90fffc0), |
| odl, |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFile : IDispatch { |
| [id(DISPID_VALUE), propget] |
| HRESULT Path([out, retval] BSTR* path); |
| |
| [id(0x03e8), propget] |
| HRESULT Name([out, retval] BSTR* Name); |
| |
| [id(0x03e8), propput] |
| HRESULT Name([in] BSTR Name); |
| |
| [id(0x03ea), propget] |
| HRESULT ShortPath([out, retval] BSTR* path); |
| |
| [id(0x03e9), propget] |
| HRESULT ShortName([out, retval] BSTR* Name); |
| |
| [id(0x03ec), propget] |
| HRESULT Drive([out, retval] IDrive** drive); |
| |
| [id(0x03ed), propget] |
| HRESULT ParentFolder([out, retval] IFolder** folder); |
| |
| [id(0x03eb), propget] |
| HRESULT Attributes([out, retval] FileAttribute* attr); |
| |
| [id(0x03eb), propput] |
| HRESULT Attributes([in] FileAttribute attr); |
| |
| [id(0x03ee), propget] |
| HRESULT DateCreated([out, retval] DATE* date); |
| |
| [id(0x03ef), propget] |
| HRESULT DateLastModified([out, retval] DATE* date); |
| |
| [id(0x03f0), propget] |
| HRESULT DateLastAccessed([out, retval] DATE* date); |
| |
| [id(0x03f1), propget] |
| HRESULT Size([out, retval] VARIANT* Size); |
| |
| [id(0x03f2), propget] |
| HRESULT Type([out, retval] BSTR* Type); |
| |
| [id(0x04b0)] |
| HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL Force); |
| |
| [id(0x04b2)] |
| HRESULT Copy( |
| [in] BSTR Destination, |
| [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles); |
| |
| [id(0x04b4)] |
| HRESULT Move([in] BSTR Destination); |
| |
| [id(0x044c)] |
| HRESULT OpenAsTextStream( |
| [in, optional, defaultvalue(1)] IOMode IOMode, |
| [in, optional, defaultvalue(0)] Tristate Format, |
| [out, retval] ITextStream** ppts); |
| }; |
| |
| [ |
| uuid(c7c3f5a5-88a3-11d0-abcb-00a0c90fffc0), |
| odl, |
| 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(1), propget] |
| HRESULT Count([out, retval] long* count); |
| }; |
| |
| [ |
| uuid(c7c3f5a2-88a3-11d0-abcb-00a0c90fffc0), |
| odl, |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFolder : IDispatch { |
| [id(DISPID_VALUE), propget] |
| HRESULT Path([out, retval] BSTR* path); |
| |
| [id(0x03e8), propget] |
| HRESULT Name([out, retval] BSTR* name); |
| |
| [id(0x03e8), propput] |
| HRESULT Name([in] BSTR name); |
| |
| [id(0x03ea), propget] |
| HRESULT ShortPath([out, retval] BSTR* path); |
| |
| [id(0x03e9), propget] |
| HRESULT ShortName([out, retval] BSTR* name); |
| |
| [id(0x03ec), propget] |
| HRESULT Drive([out, retval] IDrive** drive); |
| |
| [id(0x03ed), propget] |
| HRESULT ParentFolder([out, retval] IFolder** folder); |
| |
| [id(0x03eb), propget] |
| HRESULT Attributes([out, retval] FileAttribute* attr); |
| |
| [id(0x03eb), propput] |
| HRESULT Attributes([in] FileAttribute attr); |
| |
| [id(0x03ee), propget] |
| HRESULT DateCreated([out, retval] DATE* date); |
| |
| [id(0x03ef), propget] |
| HRESULT DateLastModified([out, retval] DATE* date); |
| |
| [id(0x03f0), propget] |
| HRESULT DateLastAccessed([out, retval] DATE* date); |
| |
| [id(0x03f2), propget] |
| HRESULT Type([out, retval] BSTR* type); |
| |
| [id(0x04b1)] |
| HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL force); |
| |
| [id(0x04b3)] |
| HRESULT Copy( |
| [in] BSTR Destination, |
| [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles); |
| |
| [id(0x04b5)] |
| HRESULT Move([in] BSTR Destination); |
| |
| [id(0x2710), propget] |
| HRESULT IsRootFolder([out, retval] VARIANT_BOOL* root); |
| |
| [id(0x03f1), propget] |
| HRESULT Size([out, retval] VARIANT* size); |
| |
| [id(0x2711), propget] |
| HRESULT SubFolders([out, retval] IFolderCollection** folders); |
| |
| [id(0x2712), propget] |
| HRESULT Files([out, retval] IFileCollection** files); |
| |
| [id(0x044d)] |
| HRESULT CreateTextFile( |
| [in] BSTR FileName, |
| [in, optional, defaultvalue(-1)] VARIANT_BOOL Overwrite, |
| [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, |
| [out, retval] ITextStream** ppts); |
| }; |
| |
| [ |
| uuid(c7c3f5a3-88a3-11d0-abcb-00a0c90fffc0), |
| odl, |
| hidden, |
| dual, |
| nonextensible, |
| oleautomation |
| ] |
| interface IFolderCollection : IDispatch { |
| [id(2)] |
| HRESULT Add( |
| [in] BSTR Name, |
| [out, retval] IFolder** folder); |
| |
| [id(DISPID_VALUE), propget] |
| HRESULT Item( |
| [in] VARIANT Key, |
| [out, retval] IFolder** folder); |
| |
| [id(DISPID_NEWENUM), propget, restricted, hidden] |
| HRESULT _NewEnum([out, retval] IUnknown** ppenum); |
| |
| [id(1), propget] |
| HRESULT Count([out, retval] long* count); |
| }; |
| |
| [ |
| uuid(f935dc27-1cf0-11d0-adb9-00c04fd58a0b), |
| odl, |
| dual, |
| oleautomation |
| ] |
| interface IWshCollection : IDispatch { |
| [id(DISPID_VALUE)] |
| HRESULT Item( |
| [in] VARIANT *Index, |
| [out, retval] VARIANT *out_Value); |
| |
| [id(1)] |
| HRESULT Count([out, retval] long *out_Count); |
| |
| [id(2), propget] |
| HRESULT length([out, retval] long *out_Count); |
| |
| [id(DISPID_NEWENUM)] |
| HRESULT _NewEnum([out, retval] IUnknown *out_Enum); |
| } |
| |
| [ |
| uuid(f935dc29-1cf0-11d0-adb9-00c04fd58a0b), |
| odl, |
| dual, |
| oleautomation |
| ] |
| interface IWshEnvironment : IDispatch { |
| [id(DISPID_VALUE), propget] |
| HRESULT Item( |
| [in] BSTR Name, |
| [out, retval] BSTR *out_Value); |
| |
| [id(DISPID_VALUE), propput] |
| HRESULT Item( |
| [in] BSTR Name, |
| [in] BSTR out_Value); |
| |
| [id(1)] |
| HRESULT Count([out, retval] long *out_Count); |
| |
| [id(2), propget] |
| HRESULT length([out, retval] long *out_Count); |
| |
| [id(DISPID_NEWENUM)] |
| HRESULT _NewEnum([out, retval] IUnknown *out_Enum); |
| |
| [id(0x03e9)] |
| HRESULT Remove([in] BSTR Name); |
| } |
| |
| [ |
| uuid(08fed190-be19-11d3-a28b-00104bd35090), |
| odl, |
| dual, |
| oleautomation |
| ] |
| interface IWshExec : IDispatch { |
| [id(0x0001), propget] |
| HRESULT Status([out, retval] WshExecStatus* Status); |
| |
| [id(0x0003), propget] |
| HRESULT StdIn([out, retval] ITextStream** stream); |
| |
| [id(0x0004), propget] |
| HRESULT StdOut([out, retval] ITextStream** stream); |
| |
| [id(0x0005), propget] |
| HRESULT StdErr([out, retval] ITextStream** stream); |
| |
| [id(0x0006), propget] |
| HRESULT ProcessID([out, retval] long* pid); |
| |
| [id(0x0007), propget] |
| HRESULT ExitCode([out, retval] long* ExitCode); |
| |
| [id(0x0008)] |
| HRESULT Terminate(); |
| }; |
| |
| [ |
| uuid(f935dc23-1cf0-11d0-adb9-00c04fd58a0b), |
| odl, |
| dual, |
| oleautomation |
| ] |
| interface IWshShortcut : IDispatch { |
| [id(DISPID_VALUE), propget] |
| HRESULT FullName([out, retval] BSTR* name); |
| |
| [id(0x03e8), propget] |
| HRESULT Arguments([out, retval] BSTR* Arguments); |
| |
| [id(0x03e8), propput] |
| HRESULT Arguments([in] BSTR Arguments); |
| |
| [id(0x03e9), propget] |
| HRESULT Description([out, retval] BSTR* Description); |
| |
| [id(0x03e9), propput] |
| HRESULT Description([in] BSTR Description); |
| |
| [id(0x03ea), propget] |
| HRESULT Hotkey([out, retval] BSTR* HotKey); |
| |
| [id(0x03ea), propput] |
| HRESULT Hotkey([in] BSTR HotKey); |
| |
| [id(0x03eb), propget] |
| HRESULT IconLocation([out, retval] BSTR* IconPath); |
| |
| [id(0x03eb), propput] |
| HRESULT IconLocation([in] BSTR IconPath); |
| |
| [id(0x03ec), propput] |
| HRESULT RelativePath([in] BSTR rhs); |
| |
| [id(0x03ed), propget] |
| HRESULT TargetPath([out, retval] BSTR* Path); |
| |
| [id(0x03ed), propput] |
| HRESULT TargetPath([in] BSTR Path); |
| |
| [id(0x03ee), propget] |
| HRESULT WindowStyle([out, retval] int* ShowCmd); |
| |
| [id(0x03ee), propput] |
| HRESULT WindowStyle([in] int ShowCmd); |
| |
| [id(0x03ef), propget] |
| HRESULT WorkingDirectory([out, retval] BSTR* WorkingDirectory); |
| |
| [id(0x03ef), propput] |
| HRESULT WorkingDirectory([in] BSTR WorkingDirectory); |
| |
| [id(0x07d0), hidden] |
| HRESULT Load([in] BSTR PathLink); |
| |
| [id(0x07d1)] |
| HRESULT Save(); |
| }; |
| |
| [ |
| uuid(f935dc21-1cf0-11d0-adb9-00c04fd58a0b), |
| odl, |
| dual, |
| oleautomation, |
| hidden |
| ] |
| interface IWshShell : IDispatch { |
| [id(0x0064), propget] |
| HRESULT SpecialFolders([out, retval] IWshCollection** out_Folders); |
| |
| [id(0x00c8), propget] |
| HRESULT Environment( |
| [in, optional] VARIANT* Type, |
| [out, retval] IWshEnvironment** out_Env); |
| |
| [id(0x03e8)] |
| HRESULT Run( |
| [in] BSTR Command, |
| [in, optional] VARIANT* WindowStyle, |
| [in, optional] VARIANT* WaitOnReturn, |
| [out, retval] int* out_ExitCode); |
| |
| [id(0x03e9)] |
| HRESULT Popup( |
| [in] BSTR Text, |
| [in, optional] VARIANT* SecondsToWait, |
| [in, optional] VARIANT* Title, |
| [in, optional] VARIANT* Type, |
| [out, retval] int* out_Button); |
| |
| [id(0x03ea)] |
| HRESULT CreateShortcut( |
| [in] BSTR PathLink, |
| [out, retval] IDispatch** out_Shortcut); |
| |
| [id(0x03ee)] |
| HRESULT ExpandEnvironmentStrings( |
| [in] BSTR Src, |
| [out, retval] BSTR* out_Dst); |
| |
| [id(0x07d0)] |
| HRESULT RegRead( |
| [in] BSTR Name, |
| [out, retval] VARIANT* out_Value); |
| |
| [id(0x07d1)] |
| HRESULT RegWrite( |
| [in] BSTR Name, |
| [in] VARIANT* Value, |
| [in, optional] VARIANT* Type); |
| |
| [id(0x07d2)] |
| HRESULT RegDelete([in] BSTR Name); |
| }; |
| |
| [ |
| uuid(24be5a30-edfe-11d2-b933-00104b365c9f), |
| odl, |
| dual, |
| oleautomation, |
| hidden |
| ] |
| interface IWshShell2 : IWshShell { |
| [id(0x0bb8)] |
| HRESULT LogEvent( |
| [in] VARIANT* Type, |
| [in] BSTR Message, |
| [in, optional, defaultvalue("")] BSTR Target, |
| [out, retval] VARIANT_BOOL* out_Success); |
| |
| [id(0x0bc2)] |
| HRESULT AppActivate( |
| [in] VARIANT* App, |
| [in, optional] VARIANT* Wait, |
| [out, retval] VARIANT_BOOL* out_Success); |
| |
| [id(0x0bc3)] |
| HRESULT SendKeys( |
| [in] BSTR Keys, |
| [in, optional] VARIANT* Wait); |
| }; |
| |
| [ |
| uuid(41904400-be18-11d3-a28b-00104bd35090), |
| odl, |
| dual, |
| oleautomation |
| ] |
| interface IWshShell3 : IWshShell2 { |
| [id(0x0bc4)] |
| HRESULT Exec( |
| [in] BSTR Command, |
| [out, retval] IWshExec** out_Exec); |
| |
| [id(0x0bc5), propget] |
| HRESULT CurrentDirectory([out, retval] BSTR* out_Directory); |
| |
| [id(0x0bc5), propput] |
| HRESULT CurrentDirectory([in] BSTR out_Directory); |
| }; |
| |
| [ |
| uuid(24be5a31-edfe-11d2-b933-00104b365c9f), |
| odl, |
| dual, |
| oleautomation |
| ] |
| interface IWshNetwork2 : IDispatch { |
| [id(0x60020000), propget] |
| HRESULT UserDomain([out, retval] BSTR *out_UserDomain); |
| } |
| |
| [ |
| helpstring("Windows Script Host Shell Object"), |
| uuid(f935dc22-1cf0-11d0-adb9-00c04fd58a0b), |
| threading(apartment), |
| progid("WScript.Shell.1"), |
| vi_progid("WScript.Shell") |
| ] |
| coclass IWshShell_Class { |
| [default] interface IWshShell3; |
| } |
| |
| [ |
| helpstring("Windows Script Host Shell Object"), |
| uuid(72c24dd5-d70a-438b-8a42-98424b88afb8), |
| threading(apartment), |
| progid("WScript.Shell.1"), |
| vi_progid("WScript.Shell") |
| ] |
| coclass WshShell { |
| [default] interface IWshShell3; |
| } |
| |
| [ |
| helpstring("Windows Script Host Network Object"), |
| uuid(f935dc26-1cf0-11d0-adb9-00c04fd58a0b), |
| threading(apartment), |
| progid("WScript.Network.1"), |
| vi_progid("WScript.Network") |
| ] |
| coclass IWshNetwork_Class { |
| [default] interface IWshNetwork2; |
| } |
| |
| [ |
| helpstring("Windows Script Host Network Object"), |
| uuid(093ff999-1ea0-4079-9525-9614c3504b74), |
| threading(apartment), |
| progid("WScript.Network.1"), |
| vi_progid("WScript.Network") |
| ] |
| coclass WshNetwork { |
| [default] interface IWshNetwork2; |
| } |
| } |