xref: /reactos/dll/win32/wshom.ocx/wshom.idl (revision 8e328408)
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