[SCRRUN_WINETEST]
[reactos.git] / rostests / winetests / scrrun / scrrun.idl
index 4b18af1..96835c7 100644 (file)
@@ -24,6 +24,7 @@ cpp_quote("#undef CopyFile")
 cpp_quote("#undef DeleteFile")
 cpp_quote("#undef MoveFile")
 cpp_quote("#endif")
+cpp_quote("#define CTL_E_ENDOFFILE STD_CTL_SCODE(62)") /* this is not defined in public headers */
 
 [
   uuid(420B2830-E718-11CF-893D-00A0C9054228),
@@ -33,23 +34,13 @@ library Scripting
 {
     importlib("stdole2.tlb");
 
-    interface IDictionary;
-    interface IDrive;
-    interface IDriveCollection;
-    interface IFile;
-    interface IFileCollection;
-    interface IFileSystem;
-    interface IFileSystem3;
     interface IFolder;
-    interface IFolderCollection;
-    interface IScriptEncoder;
-    interface ITextStream;
 
     typedef enum CompareMethod
     {
-        BinaryCompare   = 0,
-        TextCompare     = 1,
-        DatabaseCompare = 2
+        BinaryCompare,
+        TextCompare,
+        DatabaseCompare
     } CompareMethod;
 
     typedef enum IOMode
@@ -61,10 +52,10 @@ library Scripting
 
     typedef enum Tristate
     {
-        TristateTrue       = 0xffffffff,
-        TristateFalse      = 0,
-        TristateUseDefault = 0xfffffffe,
-        TristateMixed      = 0xfffffffe
+        TristateTrue       = -1,
+        TristateFalse      =  0,
+        TristateUseDefault = -2,
+        TristateMixed      = -2
     } Tristate;
 
     typedef enum FileAttribute
@@ -82,26 +73,26 @@ library Scripting
 
     typedef enum SpecialFolderConst
     {
-        WindowsFolder = 0,
-        SystemFolder = 1,
-        TemporaryFolder = 2
+        WindowsFolder,
+        SystemFolder,
+        TemporaryFolder
     } SpecialFolderConst;
 
     typedef enum DriveTypeConst
     {
-        UnknownType = 0,
-        Removable = 1,
-        Fixed = 2,
-        Remote = 3,
-        CDRom = 4,
-        RamDisk = 5
+        UnknownType,
+        Removable,
+        Fixed,
+        Remote,
+        CDRom,
+        RamDisk
     } DriveTypeConst;
 
     typedef enum StandardStreamTypes
     {
-        StdIn  = 0,
-        StdOut = 1,
-        StdErr = 2
+        StdIn,
+        StdOut,
+        StdErr
     } StandardStreamTypes;
 
     [
@@ -113,13 +104,13 @@ library Scripting
     ]
     interface IDictionary : IDispatch
     {
-        [id(00000000), propputref]
+        [id(DISPID_VALUE), propputref]
         HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem);
 
-        [id(00000000), propput]
+        [id(DISPID_VALUE), propput]
         HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem);
 
-        [id(00000000), propget]
+        [id(DISPID_VALUE), propget]
         HRESULT Item([in] VARIANT* Key, [out, retval] VARIANT* pRetItem);
 
         [id(0x00000001)]
@@ -161,94 +152,52 @@ library Scripting
 
     [
       odl,
-      uuid(0AB5A3D0-E5B6-11D0-ABF5-00A0C90FFFC0),
+      uuid(C7C3F5A0-88A3-11D0-ABCB-00A0C90FFFC0),
       hidden,
       dual,
       nonextensible,
       oleautomation
     ]
-    interface IFileSystem : IDispatch
+    interface IDrive : 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(DISPID_VALUE), propget]
+        HRESULT Path([out, retval] BSTR* pbstrPath);
 
-        [id(0x0000271c)]
-        HRESULT GetFile([in] BSTR FilePath, [out, retval] IFile** ppfile);
+        [id(0x00002710), propget]
+        HRESULT DriveLetter([out, retval] BSTR* pbstrLetter);
 
-        [id(0x0000271d)]
-        HRESULT GetFolder([in] BSTR FolderPath, [out, retval] IFolder** ppfolder);
+        [id(0x00002711), propget]
+        HRESULT ShareName([out, retval] BSTR* pbstrShareName);
 
-        [id(0x0000271e)]
-        HRESULT GetSpecialFolder([in] SpecialFolderConst SpecialFolder, [out, retval] IFolder** ppfolder);
+        [id(0x00002712), propget]
+        HRESULT DriveType([out, retval] DriveTypeConst* pdt);
 
-        [id(0x000004b0)]
-        HRESULT DeleteFile([in] BSTR FileSpec, [in, optional, defaultvalue(0)] VARIANT_BOOL Force);
+        [id(0x00002713), propget]
+        HRESULT RootFolder([out, retval] IFolder** ppfolder);
 
-        [id(0x000004b1)]
-        HRESULT DeleteFolder([in] BSTR FolderSpec, [in, optional, defaultvalue(0)] VARIANT_BOOL Force);
+        [id(0x00002715), propget]
+        HRESULT AvailableSpace([out, retval] VARIANT* pvarAvail);
 
-        [id(0x000004b4), helpstring("Move a file"), helpcontext(0x00214bab)]
-        HRESULT MoveFile([in] BSTR Source, [in] BSTR Destination);
+        [id(0x00002714), propget]
+        HRESULT FreeSpace([out, retval] VARIANT* pvarFree);
 
-        [id(0x000004b5)]
-        HRESULT MoveFolder([in] BSTR Source, [in] BSTR Destination);
+        [id(0x00002716), propget]
+        HRESULT TotalSize([out, retval] VARIANT* pvarTotal);
 
-        [id(0x000004b2)]
-        HRESULT CopyFile([in] BSTR Source, [in] BSTR Destination,
-                         [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
+        [id(0x00002717), propget]
+        HRESULT VolumeName([out, retval] BSTR* pbstrName);
 
-        [id(0x000004b3)]
-        HRESULT CopyFolder([in] BSTR Source, [in] BSTR Destination,
-                           [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
+        [id(0x00002717), propput]
+        HRESULT VolumeName([in] BSTR pbstrName);
 
-        [id(0x00000460)]
-        HRESULT CreateFolder([in] BSTR Path, [out, retval] IFolder** ppfolder);
+        [id(0x00002718), propget]
+        HRESULT FileSystem([out, retval] BSTR* pbstrFileSystem);
 
-        [id(0x0000044d)]
-        HRESULT CreateTextFile([in] BSTR FileName, [in, optional, defaultvalue(-1)] VARIANT_BOOL Overwrite,
-                        [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
+        [id(0x00002719), propget]
+        HRESULT SerialNumber([out, retval] long* pulSerialNumber);
 
-        [id(0x0000044c)]
-        HRESULT OpenTextFile([in] BSTR FileName, [in, optional, defaultvalue(1)] IOMode IOMode,
-                        [in, optional, defaultvalue(0)] VARIANT_BOOL Create,
-                        [in, optional, defaultvalue(0)] Tristate Format,
-                        [out, retval] ITextStream** ppts);
+        [id(0x0000271a), propget]
+        HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady);
     }
 
     [
@@ -260,7 +209,7 @@ library Scripting
       oleautomation
     ]
     interface IDriveCollection : IDispatch {
-        [id(00000000)]
+        [id(DISPID_VALUE), propget]
         HRESULT Item([in] VARIANT Key, [out, retval] IDrive** ppdrive);
 
         [id(DISPID_NEWENUM), propget, restricted, hidden]
@@ -272,65 +221,65 @@ library Scripting
 
     [
       odl,
-      uuid(C7C3F5A0-88A3-11D0-ABCB-00A0C90FFFC0),
+      uuid(53BAD8C1-E718-11CF-893D-00A0C9054228),
       hidden,
       dual,
       nonextensible,
       oleautomation
     ]
-    interface IDrive : IDispatch
+    interface ITextStream : IDispatch
     {
-        [id(00000000), 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);
+        HRESULT Line([out, retval] long* Line);
+
+        [id(0xfffffdef), propget]
+        HRESULT Column([out, retval] long* Column);
 
         [id(0x00002712), propget]
-        HRESULT DriveType([out, retval] DriveTypeConst* pdt);
+        HRESULT AtEndOfStream([out, retval] VARIANT_BOOL* EOS);
 
         [id(0x00002713), propget]
-        HRESULT RootFolder([out, retval] IFolder** ppfolder);
+        HRESULT AtEndOfLine([out, retval] VARIANT_BOOL* EOL);
 
-        [id(0x00002715), propget]
-        HRESULT AvailableSpace([out, retval] VARIANT* pvarAvail);
+        [id(0x00002714)]
+        HRESULT Read([in] long Characters, [out, retval] BSTR* Text);
 
-        [id(0x00002714), propget]
-        HRESULT FreeSpace([out, retval] VARIANT* pvarFree);
+        [id(0x00002715)]
+        HRESULT ReadLine([out, retval] BSTR* Text);
 
-        [id(0x00002716), propget]
-        HRESULT TotalSize([out, retval] VARIANT* pvarTotal);
+        [id(0x00002716)]
+        HRESULT ReadAll([out, retval] BSTR* Text);
 
-        [id(0x00002717), propget]
-        HRESULT VolumeName([out, retval] BSTR* pbstrName);
+        [id(0x00002717)]
+        HRESULT Write([in] BSTR Text);
 
-        [id(0x00002717), propput]
-        HRESULT VolumeName([in] BSTR pbstrName);
+        [id(0x00002718)]
+        HRESULT WriteLine([in, defaultvalue("")] BSTR Text);
 
-        [id(0x00002718), propget]
-        HRESULT FileSystem([out, retval] BSTR* pbstrFileSystem);
+        [id(0x00002719)]
+        HRESULT WriteBlankLines([in] long Lines);
 
-        [id(0x00002719), propget]
-        HRESULT SerialNumber([out, retval] long* pulSerialNumber);
+        [id(0x0000271a)]
+        HRESULT Skip([in] long Characters);
 
-        [id(0x0000271a), propget]
-        HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady);
+        [id(0x0000271b)]
+        HRESULT SkipLine();
+
+        [id(0x0000271c)]
+        HRESULT Close();
     }
 
     [
       odl,
-      uuid(C7C3F5A2-88A3-11D0-ABCB-00A0C90FFFC0),
+      uuid(C7C3F5A4-88A3-11D0-ABCB-00A0C90FFFC0),
       hidden,
       dual,
       nonextensible,
       oleautomation
     ]
-    interface IFolder : IDispatch
+    interface IFile : IDispatch
     {
-        [id(00000000), propget]
+        [id(DISPID_VALUE), propget]
         HRESULT Path([out, retval] BSTR* pbstrPath);
 
         [id(0x000003e8), propget]
@@ -366,50 +315,130 @@ library Scripting
         [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(0x000004b1)]
-        HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL Force);
+        [id(0x000004b0)]
+        HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL Force);
 
-        [id(0x000004b3)]
-        HRESULT Copy([in] BSTR Destination, [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
+        [id(0x000004b2)]
+        HRESULT Copy([in] BSTR Destination, [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
 
-        [id(0x000004b5)]
+        [id(0x000004b4)]
         HRESULT Move([in] BSTR Destination);
 
-        [id(0x00002710), propget]
-        HRESULT IsRootFolder([out, retval] VARIANT_BOOL* pfRootFolder);
+        [id(0x0000044c)]
+        HRESULT OpenAsTextStream([in, defaultvalue(1)] IOMode IOMode,
+                        [in, defaultvalue(0)] Tristate Format, [out, retval] ITextStream** ppts);
+    }
 
-        [id(0x000003f1), propget]
-        HRESULT Size([out, retval] VARIANT* pvarSize);
+    [
+      odl,
+      uuid(0AB5A3D0-E5B6-11D0-ABF5-00A0C90FFFC0),
+      hidden,
+      dual,
+      nonextensible,
+      oleautomation
+    ]
+    interface IFileSystem : IDispatch
+    {
+        [id(0x0000271a), propget]
+        HRESULT Drives([out, retval] IDriveCollection** ppdrives);
 
-        [id(0x00002711), propget]
-        HRESULT SubFolders([out, retval] IFolderCollection** ppfolders);
+        [id(0x00002710)]
+        HRESULT BuildPath([in] BSTR Path, [in] BSTR Name, [out, retval] BSTR* pbstrResult);
 
-        [id(0x00002712), propget]
-        HRESULT Files([out, retval] IFileCollection** ppfiles);
+        [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, optional, defaultvalue(-1)] VARIANT_BOOL Overwrite,
-                        [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
+        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(C7C3F5A3-88A3-11D0-ABCB-00A0C90FFFC0),
+      uuid(C7C3F5A5-88A3-11D0-ABCB-00A0C90FFFC0),
       hidden,
       dual,
       nonextensible,
       oleautomation
     ]
-    interface IFolderCollection : IDispatch
+    interface IFileCollection : IDispatch
     {
-        [id(0x00000002)]
-        HRESULT Add([in] BSTR Name, [out, retval] IFolder** ppfolder);
-
-        [id(00000000), propget]
-        HRESULT Item([in] VARIANT Key, [out, retval] IFolder** ppfolder);
+        [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);
@@ -420,16 +449,19 @@ library Scripting
 
     [
       odl,
-      uuid(C7C3F5A5-88A3-11D0-ABCB-00A0C90FFFC0),
+      uuid(C7C3F5A3-88A3-11D0-ABCB-00A0C90FFFC0),
       hidden,
       dual,
       nonextensible,
       oleautomation
     ]
-    interface IFileCollection : IDispatch
+    interface IFolderCollection : IDispatch
     {
-        [id(00000000), propget]
-        HRESULT Item([in] VARIANT Key, [out, retval] IFile** ppfile);
+        [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);
@@ -440,15 +472,15 @@ library Scripting
 
     [
       odl,
-      uuid(C7C3F5A4-88A3-11D0-ABCB-00A0C90FFFC0),
+      uuid(C7C3F5A2-88A3-11D0-ABCB-00A0C90FFFC0),
       hidden,
       dual,
       nonextensible,
       oleautomation
     ]
-    interface IFile : IDispatch
+    interface IFolder : IDispatch
     {
-        [id(00000000), propget]
+        [id(DISPID_VALUE), propget]
         HRESULT Path([out, retval] BSTR* pbstrPath);
 
         [id(0x000003e8), propget]
@@ -484,74 +516,33 @@ library Scripting
         [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, optional, defaultvalue(0)] VARIANT_BOOL Force);
+        [id(0x000004b1)]
+        HRESULT Delete([in, defaultvalue(0)] VARIANT_BOOL Force);
 
-        [id(0x000004b2)]
-        HRESULT Copy([in] BSTR Destination, [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
+        [id(0x000004b3)]
+        HRESULT Copy([in] BSTR Destination, [in, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
 
-        [id(0x000004b4)]
+        [id(0x000004b5)]
         HRESULT Move([in] BSTR Destination);
 
-        [id(0x0000044c)]
-        HRESULT OpenAsTextStream([in, optional, defaultvalue(1)] IOMode IOMode,
-                        [in, optional, defaultvalue(0)] Tristate Format, [out, retval] ITextStream** ppts);
-    }
-
-    [
-      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, optional, defaultvalue("")] BSTR Text);
+        HRESULT IsRootFolder([out, retval] VARIANT_BOOL* pfRootFolder);
 
-        [id(0x00002719)]
-        HRESULT WriteBlankLines([in] long Lines);
+        [id(0x000003f1), propget]
+        HRESULT Size([out, retval] VARIANT* pvarSize);
 
-        [id(0x0000271a)]
-        HRESULT Skip([in] long Characters);
+        [id(0x00002711), propget]
+        HRESULT SubFolders([out, retval] IFolderCollection** ppfolders);
 
-        [id(0x0000271b)]
-        HRESULT SkipLine();
+        [id(0x00002712), propget]
+        HRESULT Files([out, retval] IFileCollection** ppfiles);
 
-        [id(0x0000271c)]
-        HRESULT Close();
+        [id(0x0000044d)]
+        HRESULT CreateTextFile([in] BSTR FileName, [in, defaultvalue(-1)] VARIANT_BOOL Overwrite,
+                        [in, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
     }
 
     [
@@ -565,7 +556,7 @@ library Scripting
     {
         [id(0x00004e20)]
         HRESULT GetStandardStream([in] StandardStreamTypes StandardStreamType,
-                        [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
+                        [in, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
 
         [id(0x00004e2a)]
         HRESULT GetFileVersion([in] BSTR FileName, [out, retval] BSTR* FileVersion);
@@ -579,7 +570,7 @@ library Scripting
     ]
     interface IScriptEncoder : IDispatch
     {
-        [id(00000000)]
+        [id(DISPID_VALUE)]
         HRESULT EncodeScriptFile([in] BSTR szExt, [in] BSTR bstrStreamIn, [in] long cFlags,
                         [in] BSTR bstrDefaultLang, [out, retval] BSTR* pbstrStreamOut);
     }