1c2c66affSColin Finck/* 2c2c66affSColin Finck * Copyright 2011 Jacek Caban for CodeWeavers 3c2c66affSColin Finck * 4c2c66affSColin Finck * This library is free software; you can redistribute it and/or 5c2c66affSColin Finck * modify it under the terms of the GNU Lesser General Public 6c2c66affSColin Finck * License as published by the Free Software Foundation; either 7c2c66affSColin Finck * version 2.1 of the License, or (at your option) any later version. 8c2c66affSColin Finck * 9c2c66affSColin Finck * This library is distributed in the hope that it will be useful, 10c2c66affSColin Finck * but WITHOUT ANY WARRANTY; without even the implied warranty of 11c2c66affSColin Finck * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12c2c66affSColin Finck * Lesser General Public License for more details. 13c2c66affSColin Finck * 14c2c66affSColin Finck * You should have received a copy of the GNU Lesser General Public 15c2c66affSColin Finck * License along with this library; if not, write to the Free Software 16c2c66affSColin Finck * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17c2c66affSColin Finck */ 18c2c66affSColin Finck 19c2c66affSColin Finck#pragma makedep regtypelib 20c2c66affSColin Finck 21c2c66affSColin Finckimport "oaidl.idl"; 22c2c66affSColin Finckcpp_quote("#undef ExpandEnvironmentStrings") 23c2c66affSColin Finck 24c2c66affSColin Finck[ 25c2c66affSColin Finck helpstring("Windows Script Host Object Model"), 26c2c66affSColin Finck uuid(f935dc20-1cf0-11d0-adb9-00c04fd58a0b), 27c2c66affSColin Finck version(1.0) 28c2c66affSColin Finck] 29c2c66affSColin Fincklibrary IWshRuntimeLibrary 30c2c66affSColin Finck{ 31c2c66affSColin Finck importlib("stdole2.tlb"); 32c2c66affSColin Finck 33c2c66affSColin Finck typedef enum { 34c2c66affSColin Finck WshRunning = 0, 35c2c66affSColin Finck WshFinished, 36c2c66affSColin Finck WshFailed 37c2c66affSColin Finck } WshExecStatus; 38c2c66affSColin Finck 39c2c66affSColin Finck typedef enum { 40c2c66affSColin Finck UnknownType = 0, 41c2c66affSColin Finck Removable, 42c2c66affSColin Finck Fixed, 43c2c66affSColin Finck Remote, 44c2c66affSColin Finck CDRom, 45c2c66affSColin Finck RamDisk 46c2c66affSColin Finck } DriveTypeConst; 47c2c66affSColin Finck 48c2c66affSColin Finck typedef enum { 49c2c66affSColin Finck Normal = 0x000, 50c2c66affSColin Finck ReadOnly = 0x001, 51c2c66affSColin Finck Hidden = 0x002, 52c2c66affSColin Finck System = 0x004, 53c2c66affSColin Finck Volume = 0x008, 54c2c66affSColin Finck Directory = 0x010, 55c2c66affSColin Finck Archive = 0x020, 56c2c66affSColin Finck Alias = 0x400, 57c2c66affSColin Finck Compressed = 0x800 58c2c66affSColin Finck } FileAttribute; 59c2c66affSColin Finck 60c2c66affSColin Finck typedef enum { 61c2c66affSColin Finck ForReading = 0x1, 62c2c66affSColin Finck ForWriting = 0x2, 63c2c66affSColin Finck ForAppending = 0x8 64c2c66affSColin Finck } IOMode; 65c2c66affSColin Finck 66c2c66affSColin Finck typedef enum { 67c2c66affSColin Finck TristateTrue = -1, 68c2c66affSColin Finck TristateFalse = 0, 69c2c66affSColin Finck TristateUseDefault = -2, 70c2c66affSColin Finck TristateMixed = -2 71c2c66affSColin Finck } Tristate; 72c2c66affSColin Finck 73c2c66affSColin Finck interface IFolder; 74c2c66affSColin Finck interface IFolderCollection; 75c2c66affSColin Finck 76c2c66affSColin Finck [ 77c2c66affSColin Finck uuid(53bad8c1-e718-11cf-893d-00a0c9054228), 78c2c66affSColin Finck odl, 79c2c66affSColin Finck hidden, 80c2c66affSColin Finck dual, 81c2c66affSColin Finck nonextensible, 82c2c66affSColin Finck oleautomation 83c2c66affSColin Finck ] 84c2c66affSColin Finck interface ITextStream : IDispatch { 85c2c66affSColin Finck [id(0x2710), propget] 86c2c66affSColin Finck HRESULT Line([out, retval] long* Line); 87c2c66affSColin Finck 88c2c66affSColin Finck [id(0xfffffdef), propget] 89c2c66affSColin Finck HRESULT Column([out, retval] long* Column); 90c2c66affSColin Finck 91c2c66affSColin Finck [id(0x2712), propget] 92c2c66affSColin Finck HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS); 93c2c66affSColin Finck 94c2c66affSColin Finck [id(0x2713), propget] 95c2c66affSColin Finck HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL); 96c2c66affSColin Finck 97c2c66affSColin Finck [id(0x2714)] 98c2c66affSColin Finck HRESULT Read([in] long Characters, [out, retval] BSTR* Text); 99c2c66affSColin Finck 100c2c66affSColin Finck [id(0x2715)] 101c2c66affSColin Finck HRESULT ReadLine([out, retval] BSTR* Text); 102c2c66affSColin Finck 103c2c66affSColin Finck [id(0x2716)] 104c2c66affSColin Finck HRESULT ReadAll([out, retval] BSTR* Text); 105c2c66affSColin Finck 106c2c66affSColin Finck [id(0x2717)] 107c2c66affSColin Finck HRESULT Write([in] BSTR Text); 108c2c66affSColin Finck 109c2c66affSColin Finck [id(0x2718)] 110c2c66affSColin Finck HRESULT WriteLine([in, defaultvalue("")] BSTR Text); 111c2c66affSColin Finck 112c2c66affSColin Finck [id(0x2719)] 113c2c66affSColin Finck HRESULT WriteBlankLines([in] long Lines); 114c2c66affSColin Finck 115c2c66affSColin Finck [id(0x271a)] 116c2c66affSColin Finck HRESULT Skip([in] long Characters); 117c2c66affSColin Finck 118c2c66affSColin Finck [id(0x271b)] 119c2c66affSColin Finck HRESULT SkipLine(); 120c2c66affSColin Finck 121c2c66affSColin Finck [id(0x271c)] 122c2c66affSColin Finck HRESULT Close(); 123c2c66affSColin Finck }; 124c2c66affSColin Finck 125c2c66affSColin Finck [ 126c2c66affSColin Finck uuid(c7c3f5a0-88a3-11d0-abcb-00a0c90fffc0), 127c2c66affSColin Finck odl, 128c2c66affSColin Finck hidden, 129c2c66affSColin Finck dual, 130c2c66affSColin Finck nonextensible, 131c2c66affSColin Finck oleautomation 132c2c66affSColin Finck ] 133c2c66affSColin Finck interface IDrive : IDispatch { 134c2c66affSColin Finck [id(DISPID_VALUE), propget] 135c2c66affSColin Finck HRESULT Path([out, retval] BSTR* path); 136c2c66affSColin Finck 137c2c66affSColin Finck [id(0x2710), propget] 138c2c66affSColin Finck HRESULT DriveLetter([out, retval] BSTR* letter); 139c2c66affSColin Finck 140c2c66affSColin Finck [id(0x2711), propget] 141c2c66affSColin Finck HRESULT ShareName([out, retval] BSTR* ShareName); 142c2c66affSColin Finck 143c2c66affSColin Finck [id(0x2712), propget] 144c2c66affSColin Finck HRESULT DriveType([out, retval] DriveTypeConst* type); 145c2c66affSColin Finck 146c2c66affSColin Finck [id(0x2713), propget] 147c2c66affSColin Finck HRESULT RootFolder([out, retval] IFolder** folder); 148c2c66affSColin Finck 149c2c66affSColin Finck [id(0x2715), propget] 150c2c66affSColin Finck HRESULT AvailableSpace([out, retval] VARIANT* Avail); 151c2c66affSColin Finck 152c2c66affSColin Finck [id(0x2714), propget] 153c2c66affSColin Finck HRESULT FreeSpace([out, retval] VARIANT* pFree); 154c2c66affSColin Finck 155c2c66affSColin Finck [id(0x2716), propget] 156c2c66affSColin Finck HRESULT TotalSize([out, retval] VARIANT* Total); 157c2c66affSColin Finck 158c2c66affSColin Finck [id(0x2717), propget] 159c2c66affSColin Finck HRESULT VolumeName([out, retval] BSTR* Name); 160c2c66affSColin Finck 161c2c66affSColin Finck [id(0x2717), propput] 162c2c66affSColin Finck HRESULT VolumeName([in] BSTR Name); 163c2c66affSColin Finck 164c2c66affSColin Finck [id(0x2718), propget] 165c2c66affSColin Finck HRESULT FileSystem([out, retval] BSTR* pFileSystem); 166c2c66affSColin Finck 167c2c66affSColin Finck [id(0x2719), propget] 168c2c66affSColin Finck HRESULT SerialNumber([out, retval] long* SerialNumber); 169c2c66affSColin Finck 170c2c66affSColin Finck [id(0x271a), propget] 171c2c66affSColin Finck HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady); 172c2c66affSColin Finck }; 173c2c66affSColin Finck 174c2c66affSColin Finck [ 175c2c66affSColin Finck uuid(c7c3f5a4-88a3-11d0-abcb-00a0c90fffc0), 176c2c66affSColin Finck odl, 177c2c66affSColin Finck hidden, 178c2c66affSColin Finck dual, 179c2c66affSColin Finck nonextensible, 180c2c66affSColin Finck oleautomation 181c2c66affSColin Finck ] 182c2c66affSColin Finck interface IFile : IDispatch { 183c2c66affSColin Finck [id(DISPID_VALUE), propget] 184c2c66affSColin Finck HRESULT Path([out, retval] BSTR* path); 185c2c66affSColin Finck 186c2c66affSColin Finck [id(0x03e8), propget] 187c2c66affSColin Finck HRESULT Name([out, retval] BSTR* Name); 188c2c66affSColin Finck 189c2c66affSColin Finck [id(0x03e8), propput] 190c2c66affSColin Finck HRESULT Name([in] BSTR Name); 191c2c66affSColin Finck 192c2c66affSColin Finck [id(0x03ea), propget] 193c2c66affSColin Finck HRESULT ShortPath([out, retval] BSTR* path); 194c2c66affSColin Finck 195c2c66affSColin Finck [id(0x03e9), propget] 196c2c66affSColin Finck HRESULT ShortName([out, retval] BSTR* Name); 197c2c66affSColin Finck 198c2c66affSColin Finck [id(0x03ec), propget] 199c2c66affSColin Finck HRESULT Drive([out, retval] IDrive** drive); 200c2c66affSColin Finck 201c2c66affSColin Finck [id(0x03ed), propget] 202c2c66affSColin Finck HRESULT ParentFolder([out, retval] IFolder** folder); 203c2c66affSColin Finck 204c2c66affSColin Finck [id(0x03eb), propget] 205c2c66affSColin Finck HRESULT Attributes([out, retval] FileAttribute* attr); 206c2c66affSColin Finck 207c2c66affSColin Finck [id(0x03eb), propput] 208c2c66affSColin Finck HRESULT Attributes([in] FileAttribute attr); 209c2c66affSColin Finck 210c2c66affSColin Finck [id(0x03ee), propget] 211c2c66affSColin Finck HRESULT DateCreated([out, retval] DATE* date); 212c2c66affSColin Finck 213c2c66affSColin Finck [id(0x03ef), propget] 214c2c66affSColin Finck HRESULT DateLastModified([out, retval] DATE* date); 215c2c66affSColin Finck 216c2c66affSColin Finck [id(0x03f0), propget] 217c2c66affSColin Finck HRESULT DateLastAccessed([out, retval] DATE* date); 218c2c66affSColin Finck 219c2c66affSColin Finck [id(0x03f1), propget] 220c2c66affSColin Finck HRESULT Size([out, retval] VARIANT* Size); 221c2c66affSColin Finck 222c2c66affSColin Finck [id(0x03f2), propget] 223c2c66affSColin Finck HRESULT Type([out, retval] BSTR* Type); 224c2c66affSColin Finck 225c2c66affSColin Finck [id(0x04b0)] 226c2c66affSColin Finck HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL Force); 227c2c66affSColin Finck 228c2c66affSColin Finck [id(0x04b2)] 229c2c66affSColin Finck HRESULT Copy( 230c2c66affSColin Finck [in] BSTR Destination, 231c2c66affSColin Finck [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles); 232c2c66affSColin Finck 233c2c66affSColin Finck [id(0x04b4)] 234c2c66affSColin Finck HRESULT Move([in] BSTR Destination); 235c2c66affSColin Finck 236c2c66affSColin Finck [id(0x044c)] 237c2c66affSColin Finck HRESULT OpenAsTextStream( 238c2c66affSColin Finck [in, defaultvalue(1)] IOMode IOMode, 239c2c66affSColin Finck [in, defaultvalue(0)] Tristate Format, 240c2c66affSColin Finck [out, retval] ITextStream** ppts); 241c2c66affSColin Finck }; 242c2c66affSColin Finck 243c2c66affSColin Finck [ 244c2c66affSColin Finck uuid(c7c3f5a5-88a3-11d0-abcb-00a0c90fffc0), 245c2c66affSColin Finck odl, 246c2c66affSColin Finck hidden, 247c2c66affSColin Finck dual, 248c2c66affSColin Finck nonextensible, 249c2c66affSColin Finck oleautomation 250c2c66affSColin Finck ] 251c2c66affSColin Finck interface IFileCollection : IDispatch { 252c2c66affSColin Finck [id(DISPID_VALUE), propget] 253c2c66affSColin Finck HRESULT Item( 254c2c66affSColin Finck [in] VARIANT Key, 255c2c66affSColin Finck [out, retval] IFile** ppfile); 256c2c66affSColin Finck [id(DISPID_NEWENUM), propget, restricted, hidden] 257c2c66affSColin Finck HRESULT _NewEnum([out, retval] IUnknown** ppenum); 258c2c66affSColin Finck [id(1), propget] 259c2c66affSColin Finck HRESULT Count([out, retval] long* count); 260c2c66affSColin Finck }; 261c2c66affSColin Finck 262c2c66affSColin Finck [ 263c2c66affSColin Finck uuid(c7c3f5a2-88a3-11d0-abcb-00a0c90fffc0), 264c2c66affSColin Finck odl, 265c2c66affSColin Finck hidden, 266c2c66affSColin Finck dual, 267c2c66affSColin Finck nonextensible, 268c2c66affSColin Finck oleautomation 269c2c66affSColin Finck ] 270c2c66affSColin Finck interface IFolder : IDispatch { 271c2c66affSColin Finck [id(DISPID_VALUE), propget] 272c2c66affSColin Finck HRESULT Path([out, retval] BSTR* path); 273c2c66affSColin Finck 274c2c66affSColin Finck [id(0x03e8), propget] 275c2c66affSColin Finck HRESULT Name([out, retval] BSTR* name); 276c2c66affSColin Finck 277c2c66affSColin Finck [id(0x03e8), propput] 278c2c66affSColin Finck HRESULT Name([in] BSTR name); 279c2c66affSColin Finck 280c2c66affSColin Finck [id(0x03ea), propget] 281c2c66affSColin Finck HRESULT ShortPath([out, retval] BSTR* path); 282c2c66affSColin Finck 283c2c66affSColin Finck [id(0x03e9), propget] 284c2c66affSColin Finck HRESULT ShortName([out, retval] BSTR* name); 285c2c66affSColin Finck 286c2c66affSColin Finck [id(0x03ec), propget] 287c2c66affSColin Finck HRESULT Drive([out, retval] IDrive** drive); 288c2c66affSColin Finck 289c2c66affSColin Finck [id(0x03ed), propget] 290c2c66affSColin Finck HRESULT ParentFolder([out, retval] IFolder** folder); 291c2c66affSColin Finck 292c2c66affSColin Finck [id(0x03eb), propget] 293c2c66affSColin Finck HRESULT Attributes([out, retval] FileAttribute* attr); 294c2c66affSColin Finck 295c2c66affSColin Finck [id(0x03eb), propput] 296c2c66affSColin Finck HRESULT Attributes([in] FileAttribute attr); 297c2c66affSColin Finck 298c2c66affSColin Finck [id(0x03ee), propget] 299c2c66affSColin Finck HRESULT DateCreated([out, retval] DATE* date); 300c2c66affSColin Finck 301c2c66affSColin Finck [id(0x03ef), propget] 302c2c66affSColin Finck HRESULT DateLastModified([out, retval] DATE* date); 303c2c66affSColin Finck 304c2c66affSColin Finck [id(0x03f0), propget] 305c2c66affSColin Finck HRESULT DateLastAccessed([out, retval] DATE* date); 306c2c66affSColin Finck 307c2c66affSColin Finck [id(0x03f2), propget] 308c2c66affSColin Finck HRESULT Type([out, retval] BSTR* type); 309c2c66affSColin Finck 310c2c66affSColin Finck [id(0x04b1)] 311c2c66affSColin Finck HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL force); 312c2c66affSColin Finck 313c2c66affSColin Finck [id(0x04b3)] 314c2c66affSColin Finck HRESULT Copy( 315c2c66affSColin Finck [in] BSTR Destination, 316c2c66affSColin Finck [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles); 317c2c66affSColin Finck 318c2c66affSColin Finck [id(0x04b5)] 319c2c66affSColin Finck HRESULT Move([in] BSTR Destination); 320c2c66affSColin Finck 321c2c66affSColin Finck [id(0x2710), propget] 322c2c66affSColin Finck HRESULT IsRootFolder([out, retval] VARIANT_BOOL* root); 323c2c66affSColin Finck 324c2c66affSColin Finck [id(0x03f1), propget] 325c2c66affSColin Finck HRESULT Size([out, retval] VARIANT* size); 326c2c66affSColin Finck 327c2c66affSColin Finck [id(0x2711), propget] 328c2c66affSColin Finck HRESULT SubFolders([out, retval] IFolderCollection** folders); 329c2c66affSColin Finck 330c2c66affSColin Finck [id(0x2712), propget] 331c2c66affSColin Finck HRESULT Files([out, retval] IFileCollection** files); 332c2c66affSColin Finck 333c2c66affSColin Finck [id(0x044d)] 334c2c66affSColin Finck HRESULT CreateTextFile( 335c2c66affSColin Finck [in] BSTR FileName, 336c2c66affSColin Finck [in, defaultvalue(-1)] VARIANT_BOOL Overwrite, 337c2c66affSColin Finck [in, defaultvalue(0)] VARIANT_BOOL Unicode, 338c2c66affSColin Finck [out, retval] ITextStream** ppts); 339c2c66affSColin Finck }; 340c2c66affSColin Finck 341c2c66affSColin Finck [ 342c2c66affSColin Finck uuid(c7c3f5a3-88a3-11d0-abcb-00a0c90fffc0), 343c2c66affSColin Finck odl, 344c2c66affSColin Finck hidden, 345c2c66affSColin Finck dual, 346c2c66affSColin Finck nonextensible, 347c2c66affSColin Finck oleautomation 348c2c66affSColin Finck ] 349c2c66affSColin Finck interface IFolderCollection : IDispatch { 350c2c66affSColin Finck [id(2)] 351c2c66affSColin Finck HRESULT Add( 352c2c66affSColin Finck [in] BSTR Name, 353c2c66affSColin Finck [out, retval] IFolder** folder); 354c2c66affSColin Finck 355c2c66affSColin Finck [id(DISPID_VALUE), propget] 356c2c66affSColin Finck HRESULT Item( 357c2c66affSColin Finck [in] VARIANT Key, 358c2c66affSColin Finck [out, retval] IFolder** folder); 359c2c66affSColin Finck 360c2c66affSColin Finck [id(DISPID_NEWENUM), propget, restricted, hidden] 361c2c66affSColin Finck HRESULT _NewEnum([out, retval] IUnknown** ppenum); 362c2c66affSColin Finck 363c2c66affSColin Finck [id(1), propget] 364c2c66affSColin Finck HRESULT Count([out, retval] long* count); 365c2c66affSColin Finck }; 366c2c66affSColin Finck 367c2c66affSColin Finck [ 368c2c66affSColin Finck uuid(f935dc27-1cf0-11d0-adb9-00c04fd58a0b), 369c2c66affSColin Finck odl, 370c2c66affSColin Finck dual, 371c2c66affSColin Finck oleautomation 372c2c66affSColin Finck ] 373c2c66affSColin Finck interface IWshCollection : IDispatch { 374c2c66affSColin Finck [id(DISPID_VALUE)] 375c2c66affSColin Finck HRESULT Item( 376c2c66affSColin Finck [in] VARIANT *Index, 377c2c66affSColin Finck [out, retval] VARIANT *out_Value); 378c2c66affSColin Finck 379c2c66affSColin Finck [id(1)] 380c2c66affSColin Finck HRESULT Count([out, retval] long *out_Count); 381c2c66affSColin Finck 382c2c66affSColin Finck [id(2), propget] 383c2c66affSColin Finck HRESULT length([out, retval] long *out_Count); 384c2c66affSColin Finck 385c2c66affSColin Finck [id(DISPID_NEWENUM)] 386*8e328408SAmine Khaldi HRESULT _NewEnum([out, retval] IUnknown **out_Enum); 387c2c66affSColin Finck } 388c2c66affSColin Finck 389c2c66affSColin Finck [ 390c2c66affSColin Finck uuid(f935dc29-1cf0-11d0-adb9-00c04fd58a0b), 391c2c66affSColin Finck odl, 392c2c66affSColin Finck dual, 393c2c66affSColin Finck oleautomation 394c2c66affSColin Finck ] 395c2c66affSColin Finck interface IWshEnvironment : IDispatch { 396c2c66affSColin Finck [id(DISPID_VALUE), propget] 397c2c66affSColin Finck HRESULT Item( 398c2c66affSColin Finck [in] BSTR Name, 399c2c66affSColin Finck [out, retval] BSTR *out_Value); 400c2c66affSColin Finck 401c2c66affSColin Finck [id(DISPID_VALUE), propput] 402c2c66affSColin Finck HRESULT Item( 403c2c66affSColin Finck [in] BSTR Name, 404c2c66affSColin Finck [in] BSTR Value); 405c2c66affSColin Finck 406c2c66affSColin Finck [id(1)] 407c2c66affSColin Finck HRESULT Count([out, retval] long *out_Count); 408c2c66affSColin Finck 409c2c66affSColin Finck [id(2), propget] 410c2c66affSColin Finck HRESULT length([out, retval] long *out_Count); 411c2c66affSColin Finck 412c2c66affSColin Finck [id(DISPID_NEWENUM)] 413c2c66affSColin Finck HRESULT _NewEnum([out, retval] IUnknown **out_Enum); 414c2c66affSColin Finck 415c2c66affSColin Finck [id(0x03e9)] 416c2c66affSColin Finck HRESULT Remove([in] BSTR Name); 417c2c66affSColin Finck } 418c2c66affSColin Finck 419c2c66affSColin Finck [ 420c2c66affSColin Finck uuid(08fed190-be19-11d3-a28b-00104bd35090), 421c2c66affSColin Finck odl, 422c2c66affSColin Finck dual, 423c2c66affSColin Finck oleautomation 424c2c66affSColin Finck ] 425c2c66affSColin Finck interface IWshExec : IDispatch { 426c2c66affSColin Finck [id(0x0001), propget] 427c2c66affSColin Finck HRESULT Status([out, retval] WshExecStatus* Status); 428c2c66affSColin Finck 429c2c66affSColin Finck [id(0x0003), propget] 430c2c66affSColin Finck HRESULT StdIn([out, retval] ITextStream** stream); 431c2c66affSColin Finck 432c2c66affSColin Finck [id(0x0004), propget] 433c2c66affSColin Finck HRESULT StdOut([out, retval] ITextStream** stream); 434c2c66affSColin Finck 435c2c66affSColin Finck [id(0x0005), propget] 436c2c66affSColin Finck HRESULT StdErr([out, retval] ITextStream** stream); 437c2c66affSColin Finck 438c2c66affSColin Finck [id(0x0006), propget] 439c2c66affSColin Finck HRESULT ProcessID([out, retval] DWORD *pid); 440c2c66affSColin Finck 441c2c66affSColin Finck [id(0x0007), propget] 442c2c66affSColin Finck HRESULT ExitCode([out, retval] DWORD *code); 443c2c66affSColin Finck 444c2c66affSColin Finck [id(0x0008)] 445c2c66affSColin Finck HRESULT Terminate(); 446c2c66affSColin Finck }; 447c2c66affSColin Finck 448c2c66affSColin Finck [ 449c2c66affSColin Finck uuid(f935dc23-1cf0-11d0-adb9-00c04fd58a0b), 450c2c66affSColin Finck odl, 451c2c66affSColin Finck dual, 452c2c66affSColin Finck oleautomation 453c2c66affSColin Finck ] 454c2c66affSColin Finck interface IWshShortcut : IDispatch { 455c2c66affSColin Finck [id(DISPID_VALUE), propget] 456c2c66affSColin Finck HRESULT FullName([out, retval] BSTR* name); 457c2c66affSColin Finck 458c2c66affSColin Finck [id(0x03e8), propget] 459c2c66affSColin Finck HRESULT Arguments([out, retval] BSTR* Arguments); 460c2c66affSColin Finck 461c2c66affSColin Finck [id(0x03e8), propput] 462c2c66affSColin Finck HRESULT Arguments([in] BSTR Arguments); 463c2c66affSColin Finck 464c2c66affSColin Finck [id(0x03e9), propget] 465c2c66affSColin Finck HRESULT Description([out, retval] BSTR* Description); 466c2c66affSColin Finck 467c2c66affSColin Finck [id(0x03e9), propput] 468c2c66affSColin Finck HRESULT Description([in] BSTR Description); 469c2c66affSColin Finck 470c2c66affSColin Finck [id(0x03ea), propget] 471c2c66affSColin Finck HRESULT Hotkey([out, retval] BSTR* HotKey); 472c2c66affSColin Finck 473c2c66affSColin Finck [id(0x03ea), propput] 474c2c66affSColin Finck HRESULT Hotkey([in] BSTR HotKey); 475c2c66affSColin Finck 476c2c66affSColin Finck [id(0x03eb), propget] 477c2c66affSColin Finck HRESULT IconLocation([out, retval] BSTR* IconPath); 478c2c66affSColin Finck 479c2c66affSColin Finck [id(0x03eb), propput] 480c2c66affSColin Finck HRESULT IconLocation([in] BSTR IconPath); 481c2c66affSColin Finck 482c2c66affSColin Finck [id(0x03ec), propput] 483c2c66affSColin Finck HRESULT RelativePath([in] BSTR rhs); 484c2c66affSColin Finck 485c2c66affSColin Finck [id(0x03ed), propget] 486c2c66affSColin Finck HRESULT TargetPath([out, retval] BSTR* Path); 487c2c66affSColin Finck 488c2c66affSColin Finck [id(0x03ed), propput] 489c2c66affSColin Finck HRESULT TargetPath([in] BSTR Path); 490c2c66affSColin Finck 491c2c66affSColin Finck [id(0x03ee), propget] 492c2c66affSColin Finck HRESULT WindowStyle([out, retval] int* ShowCmd); 493c2c66affSColin Finck 494c2c66affSColin Finck [id(0x03ee), propput] 495c2c66affSColin Finck HRESULT WindowStyle([in] int ShowCmd); 496c2c66affSColin Finck 497c2c66affSColin Finck [id(0x03ef), propget] 498c2c66affSColin Finck HRESULT WorkingDirectory([out, retval] BSTR* WorkingDirectory); 499c2c66affSColin Finck 500c2c66affSColin Finck [id(0x03ef), propput] 501c2c66affSColin Finck HRESULT WorkingDirectory([in] BSTR WorkingDirectory); 502c2c66affSColin Finck 503c2c66affSColin Finck [id(0x07d0), hidden] 504c2c66affSColin Finck HRESULT Load([in] BSTR PathLink); 505c2c66affSColin Finck 506c2c66affSColin Finck [id(0x07d1)] 507c2c66affSColin Finck HRESULT Save(); 508c2c66affSColin Finck }; 509c2c66affSColin Finck 510c2c66affSColin Finck [ 511c2c66affSColin Finck uuid(f935dc21-1cf0-11d0-adb9-00c04fd58a0b), 512c2c66affSColin Finck odl, 513c2c66affSColin Finck dual, 514c2c66affSColin Finck oleautomation, 515c2c66affSColin Finck hidden 516c2c66affSColin Finck ] 517c2c66affSColin Finck interface IWshShell : IDispatch { 518c2c66affSColin Finck [id(0x0064), propget] 519c2c66affSColin Finck HRESULT SpecialFolders([out, retval] IWshCollection** out_Folders); 520c2c66affSColin Finck 521c2c66affSColin Finck [id(0x00c8), propget] 522c2c66affSColin Finck HRESULT Environment( 523c2c66affSColin Finck [in, optional] VARIANT* Type, 524c2c66affSColin Finck [out, retval] IWshEnvironment** out_Env); 525c2c66affSColin Finck 526c2c66affSColin Finck [id(0x03e8)] 527c2c66affSColin Finck HRESULT Run( 528c2c66affSColin Finck [in] BSTR Command, 529c2c66affSColin Finck [in, optional] VARIANT* WindowStyle, 530c2c66affSColin Finck [in, optional] VARIANT* WaitOnReturn, 531c2c66affSColin Finck [out, retval] DWORD* out_ExitCode); 532c2c66affSColin Finck 533c2c66affSColin Finck [id(0x03e9)] 534c2c66affSColin Finck HRESULT Popup( 535c2c66affSColin Finck [in] BSTR Text, 536c2c66affSColin Finck [in, optional] VARIANT* SecondsToWait, 537c2c66affSColin Finck [in, optional] VARIANT* Title, 538c2c66affSColin Finck [in, optional] VARIANT* Type, 539c2c66affSColin Finck [out, retval] int* out_Button); 540c2c66affSColin Finck 541c2c66affSColin Finck [id(0x03ea)] 542c2c66affSColin Finck HRESULT CreateShortcut( 543c2c66affSColin Finck [in] BSTR PathLink, 544c2c66affSColin Finck [out, retval] IDispatch** out_Shortcut); 545c2c66affSColin Finck 546c2c66affSColin Finck [id(0x03ee)] 547c2c66affSColin Finck HRESULT ExpandEnvironmentStrings( 548c2c66affSColin Finck [in] BSTR Src, 549c2c66affSColin Finck [out, retval] BSTR* out_Dst); 550c2c66affSColin Finck 551c2c66affSColin Finck [id(0x07d0)] 552c2c66affSColin Finck HRESULT RegRead( 553c2c66affSColin Finck [in] BSTR Name, 554c2c66affSColin Finck [out, retval] VARIANT* out_Value); 555c2c66affSColin Finck 556c2c66affSColin Finck [id(0x07d1)] 557c2c66affSColin Finck HRESULT RegWrite( 558c2c66affSColin Finck [in] BSTR Name, 559c2c66affSColin Finck [in] VARIANT* Value, 560c2c66affSColin Finck [in, optional] VARIANT* Type); 561c2c66affSColin Finck 562c2c66affSColin Finck [id(0x07d2)] 563c2c66affSColin Finck HRESULT RegDelete([in] BSTR Name); 564c2c66affSColin Finck }; 565c2c66affSColin Finck 566c2c66affSColin Finck [ 567c2c66affSColin Finck uuid(24be5a30-edfe-11d2-b933-00104b365c9f), 568c2c66affSColin Finck odl, 569c2c66affSColin Finck dual, 570c2c66affSColin Finck oleautomation, 571c2c66affSColin Finck hidden 572c2c66affSColin Finck ] 573c2c66affSColin Finck interface IWshShell2 : IWshShell { 574c2c66affSColin Finck [id(0x0bb8)] 575c2c66affSColin Finck HRESULT LogEvent( 576c2c66affSColin Finck [in] VARIANT* Type, 577c2c66affSColin Finck [in] BSTR Message, 578c2c66affSColin Finck [in, defaultvalue("")] BSTR Target, 579c2c66affSColin Finck [out, retval] VARIANT_BOOL* out_Success); 580c2c66affSColin Finck 581c2c66affSColin Finck [id(0x0bc2)] 582c2c66affSColin Finck HRESULT AppActivate( 583c2c66affSColin Finck [in] VARIANT* App, 584c2c66affSColin Finck [in, optional] VARIANT* Wait, 585c2c66affSColin Finck [out, retval] VARIANT_BOOL* out_Success); 586c2c66affSColin Finck 587c2c66affSColin Finck [id(0x0bc3)] 588c2c66affSColin Finck HRESULT SendKeys( 589c2c66affSColin Finck [in] BSTR Keys, 590c2c66affSColin Finck [in, optional] VARIANT* Wait); 591c2c66affSColin Finck }; 592c2c66affSColin Finck 593c2c66affSColin Finck [ 594c2c66affSColin Finck uuid(41904400-be18-11d3-a28b-00104bd35090), 595c2c66affSColin Finck odl, 596c2c66affSColin Finck dual, 597c2c66affSColin Finck oleautomation 598c2c66affSColin Finck ] 599c2c66affSColin Finck interface IWshShell3 : IWshShell2 { 600c2c66affSColin Finck [id(0x0bc4)] 601c2c66affSColin Finck HRESULT Exec( 602c2c66affSColin Finck [in] BSTR Command, 603c2c66affSColin Finck [out, retval] IWshExec** out_Exec); 604c2c66affSColin Finck 605c2c66affSColin Finck [id(0x0bc5), propget] 606c2c66affSColin Finck HRESULT CurrentDirectory([out, retval] BSTR* out_Directory); 607c2c66affSColin Finck 608c2c66affSColin Finck [id(0x0bc5), propput] 609c2c66affSColin Finck HRESULT CurrentDirectory([in] BSTR out_Directory); 610c2c66affSColin Finck }; 611c2c66affSColin Finck 612c2c66affSColin Finck [ 613c2c66affSColin Finck uuid(24be5a31-edfe-11d2-b933-00104b365c9f), 614c2c66affSColin Finck odl, 615c2c66affSColin Finck dual, 616c2c66affSColin Finck oleautomation 617c2c66affSColin Finck ] 618c2c66affSColin Finck interface IWshNetwork2 : IDispatch { 619c2c66affSColin Finck [id(0x60020000), propget] 620c2c66affSColin Finck HRESULT UserDomain([out, retval] BSTR *out_UserDomain); 621c2c66affSColin Finck } 622c2c66affSColin Finck 623c2c66affSColin Finck [ 624c2c66affSColin Finck helpstring("Windows Script Host Shell Object"), 625c2c66affSColin Finck uuid(f935dc22-1cf0-11d0-adb9-00c04fd58a0b), 626c2c66affSColin Finck threading(apartment), 627c2c66affSColin Finck progid("WScript.Shell.1"), 628c2c66affSColin Finck vi_progid("WScript.Shell") 629c2c66affSColin Finck ] 630c2c66affSColin Finck coclass IWshShell_Class { 631c2c66affSColin Finck [default] interface IWshShell3; 632c2c66affSColin Finck } 633c2c66affSColin Finck 634c2c66affSColin Finck [ 635c2c66affSColin Finck helpstring("Windows Script Host Shell Object"), 636c2c66affSColin Finck uuid(72c24dd5-d70a-438b-8a42-98424b88afb8), 637c2c66affSColin Finck threading(apartment), 638c2c66affSColin Finck progid("WScript.Shell.1"), 639c2c66affSColin Finck vi_progid("WScript.Shell") 640c2c66affSColin Finck ] 641c2c66affSColin Finck coclass WshShell { 642c2c66affSColin Finck [default] interface IWshShell3; 643c2c66affSColin Finck } 644c2c66affSColin Finck 645c2c66affSColin Finck [ 646c2c66affSColin Finck helpstring("Windows Script Host Network Object"), 647c2c66affSColin Finck uuid(f935dc26-1cf0-11d0-adb9-00c04fd58a0b), 648c2c66affSColin Finck threading(apartment), 649c2c66affSColin Finck progid("WScript.Network.1"), 650c2c66affSColin Finck vi_progid("WScript.Network") 651c2c66affSColin Finck ] 652c2c66affSColin Finck coclass IWshNetwork_Class { 653c2c66affSColin Finck [default] interface IWshNetwork2; 654c2c66affSColin Finck } 655c2c66affSColin Finck 656c2c66affSColin Finck [ 657c2c66affSColin Finck helpstring("Windows Script Host Network Object"), 658c2c66affSColin Finck uuid(093ff999-1ea0-4079-9525-9614c3504b74), 659c2c66affSColin Finck threading(apartment), 660c2c66affSColin Finck progid("WScript.Network.1"), 661c2c66affSColin Finck vi_progid("WScript.Network") 662c2c66affSColin Finck ] 663c2c66affSColin Finck coclass WshNetwork { 664c2c66affSColin Finck [default] interface IWshNetwork2; 665c2c66affSColin Finck } 666c2c66affSColin Finck 667c2c66affSColin Finck [ 668c2c66affSColin Finck uuid(08fed191-be19-11d3-a28b-00104bd35090), 669c2c66affSColin Finck threading(apartment) 670c2c66affSColin Finck ] 671c2c66affSColin Finck coclass WshExec { 672c2c66affSColin Finck [default] interface IWshExec; 673c2c66affSColin Finck } 674c2c66affSColin Finck} 675