Misha Koshelev : msi:
Expand IDL file to contain some OLE automation interface functions.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue May 1 07:39:29 CDT 2007
Module: wine
Branch: master
Commit: bb55acb57753c91b720f6fba99961c9ab3edf54b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bb55acb57753c91b720f6fba99961c9ab3edf54b
Author: Misha Koshelev <mk144210 at bcm.edu>
Date: Mon Apr 30 20:53:49 2007 -0500
msi: Expand IDL file to contain some OLE automation interface functions.
---
dlls/msi/automation.c | 1 +
dlls/msi/msiserver.idl | 93 ++++++++++++++++++++++++++++++++++++++++++
dlls/msi/msiserver_dispids.h | 36 ++++++++++++++++
3 files changed, 130 insertions(+), 0 deletions(-)
diff --git a/dlls/msi/automation.c b/dlls/msi/automation.c
index 8714906..229978e 100644
--- a/dlls/msi/automation.c
+++ b/dlls/msi/automation.c
@@ -33,6 +33,7 @@
#include "wine/unicode.h"
#include "msiserver.h"
+#include "msiserver_dispids.h"
WINE_DEFAULT_DEBUG_CHANNEL(msi);
diff --git a/dlls/msi/msiserver.idl b/dlls/msi/msiserver.idl
index 9966d90..4d6c00b 100644
--- a/dlls/msi/msiserver.idl
+++ b/dlls/msi/msiserver.idl
@@ -16,6 +16,7 @@
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
+#include "msiserver_dispids.h"
import "unknwn.idl";
import "wtypes.idl";
import "objidl.idl";
@@ -42,6 +43,10 @@ library WindowsInstaller
{
properties:
methods:
+ [id(DISPID_INSTALLER_OPENPACKAGE)]
+ Session* OpenPackage(
+ [in] VARIANT Path,
+ [in, optional, defaultvalue(0)] long OptionalOption);
}
[ uuid(000C1093-0000-0000-C000-000000000046) ]
@@ -49,6 +54,12 @@ library WindowsInstaller
{
properties:
methods:
+ [id(DISPID_RECORD_STRINGDATA), propget]
+ BSTR StringData([in] long FieldNumber);
+ [id(DISPID_RECORD_STRINGDATA), propput]
+ void StringData(
+ [in] long FieldNumber,
+ [in] BSTR rhs);
}
[ uuid(000C1095-0000-0000-C000-000000000046) ]
@@ -84,6 +95,12 @@ library WindowsInstaller
{
properties:
methods:
+ [id(DISPID_VIEW_EXECUTE)]
+ void Execute([in, optional, defaultvalue(0)] Record *OptionalRecord);
+ [id(DISPID_VIEW_FETCH)]
+ Record* Fetch();
+ [id(DISPID_VIEW_CLOSE)]
+ void Close();
}
[ uuid(000C109D-0000-0000-C000-000000000046) ]
@@ -91,13 +108,89 @@ library WindowsInstaller
{
properties:
methods:
+ [id(DISPID_DATABASE_OPENVIEW)]
+ View* OpenView([in] BSTR QueryString);
}
+ typedef enum {
+ msiDoActionStatusNoAction = 0,
+ msiDoActionStatusSuccess = 1,
+ msiDoActionStatusUserExit = 2,
+ msiDoActionStatusFailure = 3,
+ msiDoActionStatusSuspend = 4,
+ msiDoActionStatusFinished = 5,
+ msiDoActionStatusWrongState = 6,
+ msiDoActionStatusBadActionData = 7
+ } MsiDoActionStatus;
+
+ typedef enum {
+ msiRunModeAdmin = 0,
+ msiRunModeAdvertise = 1,
+ msiRunModeMaintenance = 2,
+ msiRunModeRollbackEnabled = 3,
+ msiRunModeLogEnabled = 4,
+ msiRunModeOperations = 5,
+ msiRunModeRebootAtEnd = 6,
+ msiRunModeRebootNow = 7,
+ msiRunModeCabinet = 8,
+ msiRunModeSourceShortNames = 9,
+ msiRunModeTargetShortNames = 10,
+ msiRunModeWindows9x = 12,
+ msiRunModeZawEnabled = 13,
+ msiRunModeScheduled = 16,
+ msiRunModeRollback = 17,
+ msiRunModeCommit = 18
+ } MsiRunMode;
+
+ typedef enum {
+ msiInstallStateNotUsed = -7,
+ msiInstallStateBadConfig = -6,
+ msiInstallStateIncomplete = -5,
+ msiInstallStateSourceAbsent = -4,
+ msiInstallStateInvalidArg = -2,
+ msiInstallStateUnknown = -1,
+ msiInstallStateBroken = 0,
+ msiInstallStateAdvertised = 1,
+ msiInstallStateRemoved = 1,
+ msiInstallStateAbsent = 2,
+ msiInstallStateLocal = 3,
+ msiInstallStateSource = 4,
+ msiInstallStateDefault = 5
+ } MsiInstallState;
+
[ uuid(000C109E-0000-0000-C000-000000000046) ]
dispinterface Session
{
properties:
methods:
+ [id(DISPID_SESSION_PROPERTY), propget]
+ BSTR Property([in] BSTR PropertyName);
+ [id(DISPID_SESSION_PROPERTY), propput]
+ void Property(
+ [in] BSTR PropertyName,
+ [in] BSTR rhs);
+ [id(DISPID_SESSION_LANGUAGE), propget]
+ long Language();
+ [id(DISPID_SESSION_MODE), propget]
+ VARIANT_BOOL Mode([in] MsiRunMode runMode);
+ [id(DISPID_SESSION_MODE), propput]
+ void Mode(
+ [in] MsiRunMode runMode,
+ [in] VARIANT_BOOL rhs);
+ [id(DISPID_SESSION_DATABASE), propget]
+ Database* Database();
+ [id(DISPID_SESSION_DOACTION)]
+ MsiDoActionStatus DoAction([in] BSTR ActionString);
+ [id(DISPID_SESSION_FEATURECURRENTSTATE), propget]
+ MsiInstallState FeatureCurrentState([in] BSTR FeatureName);
+ [id(DISPID_SESSION_FEATUREREQUESTSTATE), propget]
+ MsiInstallState FeatureRequestState([in] BSTR FeatureName);
+ [id(DISPID_SESSION_FEATUREREQUESTSTATE), propput]
+ void FeatureRequestState(
+ [in] BSTR FeatureName,
+ [in] MsiInstallState rhs);
+ [id(DISPID_SESSION_SETINSTALLLEVEL)]
+ void SetInstallLevel([in] long InstallLevel);
}
[ uuid(000C109F-0000-0000-C000-000000000046) ]
diff --git a/dlls/msi/msiserver_dispids.h b/dlls/msi/msiserver_dispids.h
new file mode 100644
index 0000000..1c7a17f
--- /dev/null
+++ b/dlls/msi/msiserver_dispids.h
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2007 Misha Koshelev
+ *
+ * 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 DISPID_INSTALLER_OPENPACKAGE 2
+
+#define DISPID_RECORD_STRINGDATA 1
+
+#define DISPID_VIEW_EXECUTE 1
+#define DISPID_VIEW_FETCH 2
+#define DISPID_VIEW_CLOSE 4
+
+#define DISPID_DATABASE_OPENVIEW 3
+
+#define DISPID_SESSION_PROPERTY 2
+#define DISPID_SESSION_LANGUAGE 3
+#define DISPID_SESSION_MODE 4
+#define DISPID_SESSION_DATABASE 5
+#define DISPID_SESSION_DOACTION 8
+#define DISPID_SESSION_FEATURECURRENTSTATE 13
+#define DISPID_SESSION_FEATUREREQUESTSTATE 14
+#define DISPID_SESSION_SETINSTALLLEVEL 19
More information about the wine-cvs
mailing list