[2/2] scrrun: Add scrrun tests (try 3)
Alistair Leslie-Hughes
leslie_alistair at hotmail.com
Fri Mar 30 05:29:25 CDT 2012
Hi,
Changelog:
scrrun: Add scrrun tests
Best Regards
Alistair Leslie-Hughes
-------------- next part --------------
>From d2a5b8be5e7c88cfcb206c668832bd7b4bbb80c4 Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair at hotmail.com>
Date: Thu, 22 Mar 2012 16:24:24 +1100
Subject: [PATCH] Add scrrun tests
To: wine-patches <wine-patches at winehq.org>
---
.gitignore | 1 +
dlls/scrrun/tests/Makefile.in | 9 +
dlls/scrrun/tests/filesystem.c | 68 ++++
dlls/scrrun/tests/scrrun.idl | 691 ++++++++++++++++++++++++++++++++++++++++
4 files changed, 769 insertions(+), 0 deletions(-)
create mode 100644 dlls/scrrun/tests/Makefile.in
create mode 100644 dlls/scrrun/tests/filesystem.c
create mode 100644 dlls/scrrun/tests/scrrun.idl
diff --git a/.gitignore b/.gitignore
index 0708469..3b22ee6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -121,6 +121,7 @@ dlls/rpcrt4/tests/server.h
dlls/rpcrt4/tests/server_c.c
dlls/rpcrt4/tests/server_s.c
dlls/scrrun/scrrun.h
+dlls/scrrun/tests/scrrun.h
dlls/shell32/AUTHORS
dlls/sti/sti_wia.h
dlls/sti/sti_wia_p.c
diff --git a/dlls/scrrun/tests/Makefile.in b/dlls/scrrun/tests/Makefile.in
new file mode 100644
index 0000000..44cef8a
--- /dev/null
+++ b/dlls/scrrun/tests/Makefile.in
@@ -0,0 +1,9 @@
+TESTDLL = scrrun.dll
+IMPORTS = ole32 shlwapi uuid
+
+C_SRCS = \
+ filesystem.c
+
+IDL_H_SRCS = scrrun.idl
+
+ at MAKE_TEST_RULES@
diff --git a/dlls/scrrun/tests/filesystem.c b/dlls/scrrun/tests/filesystem.c
new file mode 100644
index 0000000..b86c43c
--- /dev/null
+++ b/dlls/scrrun/tests/filesystem.c
@@ -0,0 +1,68 @@
+/*
+ *
+ * Copyright 2012 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#define COBJMACROS
+#include <stdio.h>
+
+#include "windows.h"
+#include "ole2.h"
+#include "dispex.h"
+
+#include "wine/test.h"
+
+#include "initguid.h"
+#include "scrrun.h"
+
+void test_interfaces(void)
+{
+ HRESULT hr;
+ IDispatch *disp;
+ IDispatchEx *dispex;
+ IFileSystem3 *fs3;
+ IObjectWithSite *site;
+
+ hr = CoCreateInstance(&CLSID_FileSystemObject, NULL, CLSCTX_INPROC_SERVER|CLSCTX_INPROC_HANDLER,
+ &IID_IDispatch, (void**)&disp);
+ if(FAILED(hr)) {
+ win_skip("Could not create FileSystem object: %08x\n", hr);
+ return;
+ }
+
+ hr = IDispatch_QueryInterface(disp, &IID_IFileSystem3, (void**)&fs3);
+ ok(hr == S_OK, "got 0x%08x, expected 0x%08x\n", hr, S_OK);
+ IFileSystem3_Release(fs3);
+
+ hr = IDispatch_QueryInterface(disp, &IID_IObjectWithSite, (void**)&site);
+ ok(hr == E_NOINTERFACE, "got 0x%08x, expected 0x%08x\n", hr, E_NOINTERFACE);
+
+ hr = IDispatch_QueryInterface(disp, &IID_IDispatchEx, (void**)&dispex);
+ ok(hr == E_NOINTERFACE, "got 0x%08x, expected 0x%08x\n", hr, E_NOINTERFACE);
+
+ IDispatch_Release(disp);
+}
+
+START_TEST(filesystem)
+{
+ CoInitialize(NULL);
+
+ test_interfaces();
+
+
+ CoUninitialize();
+}
diff --git a/dlls/scrrun/tests/scrrun.idl b/dlls/scrrun/tests/scrrun.idl
new file mode 100644
index 0000000..f1e8984
--- /dev/null
+++ b/dlls/scrrun/tests/scrrun.idl
@@ -0,0 +1,691 @@
+/*
+ * Copyright (C) 2012 Alistair Leslie-Hughes
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+import "unknwn.idl";
+import "objidl.idl";
+import "oaidl.idl";
+
+cpp_quote("#ifdef WINE_NO_UNICODE_MACROS")
+cpp_quote("#undef CopyFile")
+cpp_quote("#undef DeleteFile")
+cpp_quote("#undef MoveFile")
+cpp_quote("#endif")
+
+[
+ uuid(420B2830-E718-11CF-893D-00A0C9054228),
+ version(1.0)
+]
+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
+ } CompareMethod;
+
+ typedef enum IOMode
+ {
+ ForReading = 1,
+ ForWriting = 2,
+ ForAppending = 8
+ } IOMode;
+
+ typedef enum Tristate
+ {
+ TristateTrue = 0xffffffff,
+ TristateFalse = 0,
+ TristateUseDefault = 0xfffffffe,
+ TristateMixed = 0xfffffffe
+ } Tristate;
+
+ typedef enum FileAttribute
+ {
+ Normal = 0,
+ ReadOnly = 1,
+ Hidden = 2,
+ System = 4,
+ Volume = 8,
+ Directory = 16,
+ Archive = 32,
+ Alias = 1024,
+ Compressed = 2048
+ } FileAttribute;
+
+ typedef enum SpecialFolderConst
+ {
+ WindowsFolder = 0,
+ SystemFolder = 1,
+ TemporaryFolder = 2
+ } SpecialFolderConst;
+
+ typedef enum DriveTypeConst
+ {
+ UnknownType = 0,
+ Removable = 1,
+ Fixed = 2,
+ Remote = 3,
+ CDRom = 4,
+ RamDisk = 5
+ } DriveTypeConst;
+
+ typedef enum StandardStreamTypes
+ {
+ StdIn = 0,
+ StdOut = 1,
+ StdErr = 2
+ } StandardStreamTypes;
+
+ [
+ odl,
+ uuid(42C642C1-97E1-11CF-978F-00A02463E06F),
+ hidden,
+ dual,
+ oleautomation
+ ]
+ interface IDictionary : IDispatch
+ {
+ [id(00000000), propputref]
+ HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem);
+
+ [id(00000000), propput]
+ HRESULT Item([in] VARIANT* Key, [in] VARIANT* pRetItem);
+
+ [id(00000000), propget]
+ HRESULT Item([in] VARIANT* Key, [out, retval] VARIANT* pRetItem);
+
+ [id(0x00000001)]
+ HRESULT Add([in] VARIANT* Key, [in] VARIANT* Item);
+
+ [id(0x00000002), propget]
+ HRESULT Count([out, retval] long* pCount);
+
+ [id(0x00000003)]
+ HRESULT Exists([in] VARIANT* Key, [out, retval] VARIANT_BOOL* pExists);
+
+ [id(0x00000004)]
+ HRESULT Items([out, retval] VARIANT* pItemsArray);
+
+ [id(0x00000005), propput]
+ HRESULT Key([in] VARIANT* Key, [in] VARIANT* rhs);
+
+ [id(0x00000006)]
+ HRESULT Keys([out, retval] VARIANT* pKeysArray);
+
+ [id(0x00000007)]
+ HRESULT Remove([in] VARIANT* Key);
+
+ [id(0x00000008)]
+ HRESULT RemoveAll();
+
+ [id(0x00000009), propput]
+ HRESULT CompareMode([in] CompareMethod pcomp);
+
+ [id(0x00000009), propget]
+ HRESULT CompareMode([out, retval] CompareMethod* pcomp);
+
+ [id(DISPID_NEWENUM), restricted]
+ HRESULT _NewEnum([out, retval] IUnknown** ppunk);
+
+ [id(0x0000000a), propget, hidden]
+ HRESULT HashVal([in] VARIANT* Key, [out, retval] VARIANT* HashVal);
+ }
+
+ [
+ odl,
+ uuid(0AB5A3D0-E5B6-11D0-ABF5-00A0C90FFFC0),
+ hidden,
+ dual,
+ nonextensible,
+ oleautomation
+ ]
+ interface IFileSystem : IDispatch
+ {
+ [id(0x0000271a), propget]
+ HRESULT Drives([out, retval] IDriveCollection** ppdrives);
+
+ [id(0x00002710)]
+ HRESULT BuildPath([in] BSTR Path, [in] BSTR Name, [out, retval] BSTR* pbstrResult);
+
+ [id(0x00002714)]
+ HRESULT GetDriveName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
+
+ [id(0x00002715)]
+ HRESULT GetParentFolderName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
+
+ [id(0x00002716)]
+ HRESULT GetFileName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
+
+ [id(0x00002717)]
+ HRESULT GetBaseName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
+
+ [id(0x00002718)]
+ HRESULT GetExtensionName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
+
+ [id(0x00002712)]
+ HRESULT GetAbsolutePathName([in] BSTR Path, [out, retval] BSTR* pbstrResult);
+
+ [id(0x00002713)]
+ HRESULT GetTempName([out, retval] BSTR* pbstrResult);
+
+ [id(0x0000271f)]
+ HRESULT DriveExists([in] BSTR DriveSpec, [out, retval] VARIANT_BOOL* pfExists);
+
+ [id(0x00002720)]
+ HRESULT FileExists([in] BSTR FileSpec, [out, retval] VARIANT_BOOL* pfExists);
+
+ [id(0x00002721)]
+ HRESULT FolderExists([in] BSTR FolderSpec, [out, retval] VARIANT_BOOL* pfExists);
+
+ [id(0x0000271b)]
+ HRESULT GetDrive([in] BSTR DriveSpec, [out, retval] IDrive** ppdrive);
+
+ [id(0x0000271c)]
+ HRESULT GetFile([in] BSTR FilePath, [out, retval] IFile** ppfile);
+
+ [id(0x0000271d)]
+ HRESULT GetFolder([in] BSTR FolderPath, [out, retval] IFolder** ppfolder);
+
+ [id(0x0000271e)]
+ HRESULT GetSpecialFolder([in] SpecialFolderConst SpecialFolder, [out, retval] IFolder** ppfolder);
+
+ [id(0x000004b0)]
+ HRESULT DeleteFile([in] BSTR FileSpec, [in, optional, defaultvalue(0)] VARIANT_BOOL Force);
+
+ [id(0x000004b1)]
+ HRESULT DeleteFolder([in] BSTR FolderSpec, [in, optional, 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, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
+
+ [id(0x000004b3)]
+ HRESULT CopyFolder([in] BSTR Source, [in] BSTR Destination,
+ [in, optional, 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);
+
+ [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);
+ }
+
+ [
+ odl,
+ uuid(C7C3F5A1-88A3-11D0-ABCB-00A0C90FFFC0),
+ hidden,
+ dual,
+ nonextensible,
+ oleautomation
+ ]
+ interface IDriveCollection : IDispatch {
+ [id(00000000)]
+ HRESULT Item([in] VARIANT Key, [out, retval] IDrive** ppdrive);
+
+ [id(DISPID_NEWENUM), propget, restricted, hidden]
+ HRESULT _NewEnum([out, retval] IUnknown** ppenum);
+
+ [id(0x00000001), propget]
+ HRESULT Count([out, retval] long* plCount);
+ }
+
+ [
+ odl,
+ uuid(C7C3F5A0-88A3-11D0-ABCB-00A0C90FFFC0),
+ hidden,
+ dual,
+ nonextensible,
+ oleautomation
+ ]
+ interface IDrive : 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);
+
+ [id(0x00002712), propget]
+ HRESULT DriveType([out, retval] DriveTypeConst* pdt);
+
+ [id(0x00002713), propget]
+ HRESULT RootFolder([out, retval] IFolder** ppfolder);
+
+ [id(0x00002715), propget]
+ HRESULT AvailableSpace([out, retval] VARIANT* pvarAvail);
+
+ [id(0x00002714), propget]
+ HRESULT FreeSpace([out, retval] VARIANT* pvarFree);
+
+ [id(0x00002716), propget]
+ HRESULT TotalSize([out, retval] VARIANT* pvarTotal);
+
+ [id(0x00002717), propget]
+ HRESULT VolumeName([out, retval] BSTR* pbstrName);
+
+ [id(0x00002717), propput]
+ HRESULT VolumeName([in] BSTR pbstrName);
+
+ [id(0x00002718), propget]
+ HRESULT FileSystem([out, retval] BSTR* pbstrFileSystem);
+
+ [id(0x00002719), propget]
+ HRESULT SerialNumber([out, retval] long* pulSerialNumber);
+
+ [id(0x0000271a), propget]
+ HRESULT IsReady([out, retval] VARIANT_BOOL* pfReady);
+ }
+
+ [
+ odl,
+ uuid(C7C3F5A2-88A3-11D0-ABCB-00A0C90FFFC0),
+ hidden,
+ dual,
+ nonextensible,
+ oleautomation
+ ]
+ interface IFolder : IDispatch
+ {
+ [id(00000000), propget]
+ HRESULT Path([out, retval] BSTR* pbstrPath);
+
+ [id(0x000003e8), propget]
+ HRESULT Name([out, retval] BSTR* pbstrName);
+
+ [id(0x000003e8), propput]
+ HRESULT Name([in] BSTR pbstrName);
+
+ [id(0x000003ea), propget]
+ HRESULT ShortPath([out, retval] BSTR* pbstrPath);
+
+ [id(0x000003e9), propget]
+ HRESULT ShortName([out, retval] BSTR* pbstrName);
+
+ [id(0x000003ec), propget]
+ HRESULT Drive([out, retval] IDrive** ppdrive);
+
+ [id(0x000003ed), propget]
+ HRESULT ParentFolder([out, retval] IFolder** ppfolder);
+
+ [id(0x000003eb), propget]
+ HRESULT Attributes([out, retval] FileAttribute* pfa);
+
+ [id(0x000003eb), propput]
+ HRESULT Attributes([in] FileAttribute pfa);
+
+ [id(0x000003ee), propget]
+ HRESULT DateCreated([out, retval] DATE* pdate);
+
+ [id(0x000003ef), propget]
+ HRESULT DateLastModified([out, retval] DATE* pdate);
+
+ [id(0x000003f0), propget]
+ HRESULT DateLastAccessed([out, retval] DATE* pdate);
+
+ [id(0x000003f2), propget]
+ HRESULT Type([out, retval] BSTR* pbstrType);
+
+ [id(0x000004b1)]
+ HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL Force);
+
+ [id(0x000004b3)]
+ HRESULT Copy([in] BSTR Destination, [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
+
+ [id(0x000004b5)]
+ HRESULT Move([in] BSTR Destination);
+
+ [id(0x00002710), propget]
+ HRESULT IsRootFolder([out, retval] VARIANT_BOOL* pfRootFolder);
+
+ [id(0x000003f1), propget]
+ HRESULT Size([out, retval] VARIANT* pvarSize);
+
+ [id(0x00002711), propget]
+ HRESULT SubFolders([out, retval] IFolderCollection** ppfolders);
+
+ [id(0x00002712), propget]
+ HRESULT Files([out, retval] IFileCollection** ppfiles);
+
+ [id(0x0000044d)]
+ HRESULT CreateTextFile([in] BSTR FileName, [in, optional, defaultvalue(-1)] VARIANT_BOOL Overwrite,
+ [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
+ }
+
+ [
+ odl,
+ uuid(C7C3F5A3-88A3-11D0-ABCB-00A0C90FFFC0),
+ hidden,
+ dual,
+ nonextensible,
+ oleautomation
+ ]
+ interface IFolderCollection : IDispatch
+ {
+ [id(0x00000002)]
+ HRESULT Add([in] BSTR Name, [out, retval] IFolder** ppfolder);
+
+ [id(00000000), propget]
+ HRESULT Item([in] VARIANT Key, [out, retval] IFolder** ppfolder);
+
+ [id(DISPID_NEWENUM), propget, restricted, hidden]
+ HRESULT _NewEnum([out, retval] IUnknown** ppenum);
+
+ [id(0x00000001), propget]
+ HRESULT Count([out, retval] long* plCount);
+ }
+
+ [
+ odl,
+ uuid(C7C3F5A5-88A3-11D0-ABCB-00A0C90FFFC0),
+ hidden,
+ dual,
+ nonextensible,
+ oleautomation
+ ]
+ interface IFileCollection : IDispatch
+ {
+ [id(00000000), propget]
+ HRESULT Item([in] VARIANT Key, [out, retval] IFile** ppfile);
+
+ [id(DISPID_NEWENUM), propget, restricted, hidden]
+ HRESULT _NewEnum([out, retval] IUnknown** ppenum);
+
+ [id(0x00000001), propget]
+ HRESULT Count([out, retval] long* plCount);
+ }
+
+ [
+ odl,
+ uuid(C7C3F5A4-88A3-11D0-ABCB-00A0C90FFFC0),
+ hidden,
+ dual,
+ nonextensible,
+ oleautomation
+ ]
+ interface IFile : IDispatch
+ {
+ [id(00000000), propget]
+ HRESULT Path([out, retval] BSTR* pbstrPath);
+
+ [id(0x000003e8), propget]
+ HRESULT Name([out, retval] BSTR* pbstrName);
+
+ [id(0x000003e8), propput]
+ HRESULT Name([in] BSTR pbstrName);
+
+ [id(0x000003ea), propget]
+ HRESULT ShortPath([out, retval] BSTR* pbstrPath);
+
+ [id(0x000003e9), propget]
+ HRESULT ShortName([out, retval] BSTR* pbstrName);
+
+ [id(0x000003ec), propget]
+ HRESULT Drive([out, retval] IDrive** ppdrive);
+
+ [id(0x000003ed), propget]
+ HRESULT ParentFolder([out, retval] IFolder** ppfolder);
+
+ [id(0x000003eb), propget]
+ HRESULT Attributes([out, retval] FileAttribute* pfa);
+
+ [id(0x000003eb), propput]
+ HRESULT Attributes([in] FileAttribute pfa);
+
+ [id(0x000003ee), propget]
+ HRESULT DateCreated([out, retval] DATE* pdate);
+
+ [id(0x000003ef), propget]
+ HRESULT DateLastModified([out, retval] DATE* pdate);
+
+ [id(0x000003f0), propget]
+ HRESULT DateLastAccessed([out, retval] DATE* pdate);
+
+ [id(0x000003f1), propget]
+ HRESULT Size([out, retval] VARIANT* pvarSize);
+
+ [id(0x000003f2), propget]
+ HRESULT Type([out, retval] BSTR* pbstrType);
+
+ [id(0x000004b0)]
+ HRESULT Delete([in, optional, defaultvalue(0)] VARIANT_BOOL Force);
+
+ [id(0x000004b2)]
+ HRESULT Copy([in] BSTR Destination, [in, optional, defaultvalue(-1)] VARIANT_BOOL OverWriteFiles);
+
+ [id(0x000004b4)]
+ 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);
+
+ 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);
+
+ [id(0x00002719)]
+ HRESULT WriteBlankLines([in] long Lines);
+
+ [id(0x0000271a)]
+ HRESULT Skip([in] long Characters);
+
+ [id(0x0000271b)]
+ HRESULT SkipLine();
+
+ [id(0x0000271c)]
+ HRESULT Close();
+ }
+
+ [
+ odl,
+ uuid(2A0B9D10-4B87-11D3-A97A-00104B365C9F),
+ dual,
+ nonextensible,
+ oleautomation
+ ]
+ interface IFileSystem3 : IFileSystem
+ {
+ [id(0x00004e20)]
+ HRESULT GetStandardStream([in] StandardStreamTypes StandardStreamType,
+ [in, optional, defaultvalue(0)] VARIANT_BOOL Unicode, [out, retval] ITextStream** ppts);
+
+ [id(0x00004e2a)]
+ HRESULT GetFileVersion([in] BSTR FileName, [out, retval] BSTR* FileVersion);
+ }
+
+ [
+ odl,
+ uuid(AADC65F6-CFF1-11D1-B747-00C04FC2B085),
+ dual,
+ oleautomation
+ ]
+ interface IScriptEncoder : IDispatch
+ {
+ [id(00000000)]
+ HRESULT EncodeScriptFile([in] BSTR szExt, [in] BSTR bstrStreamIn, [in] long cFlags,
+ [in] BSTR bstrDefaultLang, [out, retval] BSTR* pbstrStreamOut);
+ }
+
+ [
+ uuid(EE09B103-97E0-11CF-978F-00A02463E06F),
+ version(1.0),
+ helpstring("Scripting.Dictionary"),
+ threading(apartment),
+ progid("Scripting.Dictionary")
+ ]
+ coclass Dictionary
+ {
+ [default] interface IDictionary;
+ }
+
+ [
+ uuid(0D43FE01-F093-11CF-8940-00A0C9054228),
+ version(1.0),
+ helpstring("FileSystem Object"),
+ threading(both),
+ progid("Scripting.FileSystemObject")
+ ]
+ coclass FileSystemObject
+ {
+ [default] interface IFileSystem3;
+ }
+
+ [
+ uuid(C7C3F5B1-88A3-11D0-ABCB-00A0C90FFFC0),
+ noncreatable,
+ version(1.0)
+ ]
+ coclass Drive
+ {
+ [default] interface IDrive;
+ }
+
+ [
+ uuid(C7C3F5B2-88A3-11D0-ABCB-00A0C90FFFC0),
+ noncreatable,
+ version(1.0)
+ ]
+ coclass Drives
+ {
+ [default] interface IDriveCollection;
+ }
+
+ [
+ uuid(C7C3F5B3-88A3-11D0-ABCB-00A0C90FFFC0),
+ noncreatable,
+ version(1.0)
+ ]
+ coclass Folder
+ {
+ [default] interface IFolder;
+ }
+
+ [
+ uuid(C7C3F5B4-88A3-11D0-ABCB-00A0C90FFFC0),
+ noncreatable,
+ version(1.0)
+ ]
+ coclass Folders
+ {
+ [default] interface IFolderCollection;
+ }
+
+ [
+ uuid(C7C3F5B5-88A3-11D0-ABCB-00A0C90FFFC0),
+ noncreatable,
+ version(1.0)
+ ]
+ coclass File
+ {
+ [default] interface IFile;
+ }
+
+ [
+ uuid(C7C3F5B6-88A3-11D0-ABCB-00A0C90FFFC0),
+ noncreatable,
+ version(1.0)
+ ]
+ coclass Files
+ {
+ [default] interface IFileCollection;
+ }
+
+ [
+ uuid(0BB02EC0-EF49-11CF-8940-00A0C9054228),
+ noncreatable,
+ version(1.0)
+ ]
+ coclass TextStream
+ {
+ [default] interface ITextStream;
+ }
+
+ [
+ uuid(32DA2B15-CFED-11D1-B747-00C04FC2B085),
+ version(1.0),
+ helpstring("Script Encoder Object"),
+ threading(apartment),
+ progid("Scripting.Encoder")
+ ]
+ coclass Encoder
+ {
+ [default] interface IScriptEncoder;
+ }
+}
--
1.7.5.4
More information about the wine-patches
mailing list