Mike McCormack : oledb: Add oledb.idl and some idl files it depends on.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Jul 20 06:20:43 CDT 2006


Module: wine
Branch: refs/heads/master
Commit: 6621503322c065bf99b9c5f2dafc5e465b0b2031
URL:    http://source.winehq.org/git/?p=wine.git;a=commit;h=6621503322c065bf99b9c5f2dafc5e465b0b2031

Author: Mike McCormack <mike at codeweavers.com>
Date:   Thu Jul 20 15:26:18 2006 +0900

oledb: Add oledb.idl and some idl files it depends on.

---

 include/.gitignore  |    1 +
 include/Makefile.in |    4 ++
 include/dbinit.idl  |   29 +++++++++++++++
 include/dbprop.idl  |   65 +++++++++++++++++++++++++++++++++
 include/dbs.idl     |  101 +++++++++++++++++++++++++++++++++++++++++++++++++++
 include/oledb.idl   |   28 ++++++++++++++
 6 files changed, 228 insertions(+), 0 deletions(-)
 create mode 100644 include/dbinit.idl
 create mode 100644 include/dbprop.idl
 create mode 100644 include/dbs.idl
 create mode 100644 include/oledb.idl

diff --git a/include/.gitignore b/include/.gitignore
index 037d5c0..a267815 100644
--- a/include/.gitignore
+++ b/include/.gitignore
@@ -26,6 +26,7 @@
 /objidl.h
 /objsafe.h
 /ocidl.h
+/oledb.h
 /oleidl.h
 /optary.h
 /propidl.h
diff --git a/include/Makefile.in b/include/Makefile.in
index a5ca78f..6ff370d 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -32,6 +32,7 @@ WINDOWS_IDL_SRCS = \
 	objidl.idl \
 	objsafe.idl \
 	ocidl.idl \
+	oledb.idl \
 	oleidl.idl \
 	optary.idl \
 	propidl.idl \
@@ -54,6 +55,9 @@ WINDOWS_IDL_INCLUDES = \
 	$(WINDOWS_IDL_SRCS) \
 	axcore.idl \
 	axextend.idl \
+	dbinit.idl \
+	dbprop.idl \
+	dbs.idl \
 	devenum.idl \
 	dyngraph.idl
 
diff --git a/include/dbinit.idl b/include/dbinit.idl
new file mode 100644
index 0000000..e2edd17
--- /dev/null
+++ b/include/dbinit.idl
@@ -0,0 +1,29 @@
+/*
+ * Copyright (C) 2006 Mike McCormack
+ *
+ * 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
+ */
+
+[
+    object,
+    uuid(0c733a8b-2a1c-11ce-ade5-00aa0044773d),
+    pointer_default(unique)
+]
+interface IDBInitialize : IUnknown {
+    [local] HRESULT Initialize();
+    [call_as(Initialize)] HRESULT RemoteInitialize( [out] IErrorInfo **ppErrorInfoRem );
+    [local] HRESULT Uninitialize();
+    [call_as(Uninitialize)] HRESULT RemoteUninitialize( [out] IErrorInfo **ppErrorInfoRem );
+}
diff --git a/include/dbprop.idl b/include/dbprop.idl
new file mode 100644
index 0000000..5ed5301
--- /dev/null
+++ b/include/dbprop.idl
@@ -0,0 +1,65 @@
+/*
+ * Copyright (C) 2006 Mike McCormack
+ *
+ * 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
+ */
+
+[
+    object,
+    uuid(0c733a8a-2a1c-11ce-ade5-00aa0044773d),
+    pointer_default(unique)
+]
+interface IDBProperties : IUnknown {
+    [local] HRESULT GetProperties(
+             [in] ULONG cPropertyIDSets,
+             [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[],
+             [in, out] ULONG *pcPropertySets,
+             [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets);
+
+    [call_as(GetProperties)] HRESULT RemoteGetProperties(
+             [in] ULONG cPropertyIDSets,
+             [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[],
+             [in, out] ULONG *pcPropertySets,
+             [out, size_is(,*pcPropertySets)] DBPROPSET **prgPropertySets,
+             [out] IErrorInfo **ppErrorInfoRem);
+
+    [local] HRESULT GetPropertyInfo(
+             [in] ULONG cPropertyIDSets,
+             [in, size_is(cPropertyIDSets)] const DBPROPIDSET rgPropertyIDSets[],
+             [in, out] ULONG *pcPropertyInfoSets,
+             [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets);
+
+    [call_as(GetPropertyInfo)] HRESULT RemoteGetPropertyInfo(
+             [in] ULONG cPropertyIDSets,
+             [in,size_is(cPropertyIDSets)] const DBPROPIDSET *rgPropertyIDSets,
+             [in, out] ULONG *pcPropertyInfoSets,
+             [out, size_is(,*pcPropertyInfoSets)] DBPROPINFOSET **prgPropertyInfoSets,
+             [in, out] ULONG *pcOffsets,
+             [out, size_is(,*pcOffsets)] DBBYTEOFFSET **prgDescOffsets,
+             [in, out] ULONG *pcbDescBuffer,
+             [out, size_is(,*pcbDescBuffer)] OLECHAR **ppDescBuffer,
+             [out] IErrorInfo **ppErrorInfoRem);
+
+    [local] HRESULT SetProperties(
+             [in] ULONG cPropertySets,
+             [in, out, size_is(cPropertySets)] DBPROPSET rgPropertySets[]);
+
+    [call_as(SetProperties)] HRESULT RemoteSetProperties(
+             [in] ULONG cPropertySets,
+             [in, out, size_is(cPropertySets)] DBPROPSET *rgPropertySets,
+             [in] ULONG cTotalProps,
+             [out, size_is(cTotalProps)] DBPROPSTATUS *rgPropStatus,
+             [out] IErrorInfo **ppErrorInfoRem);
+}
diff --git a/include/dbs.idl b/include/dbs.idl
new file mode 100644
index 0000000..19c2997
--- /dev/null
+++ b/include/dbs.idl
@@ -0,0 +1,101 @@
+/*
+ * Copyright (C) 2006 Mike McCormack
+ *
+ * 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
+ */
+
+typedef DWORD DBKIND;
+
+enum DBKINDENUM {
+    DBKIND_GUID_NAME,
+    DBKIND_GUID_PROPID,
+    DBKIND_NAME,
+    DBKIND_PGUID_NAME,
+    DBKIND_PGUID_PROPID,
+    DBKIND_PROPID,
+    DBKIND_GUID,
+};
+
+typedef struct tagDBID {
+    [switch_type(DBKIND), switch_is(eKind)] union
+    {
+    [case(DBKIND_GUID_NAME, DBKIND_GUID_PROPID, DBKIND_GUID, DBKIND_NAME, DBKIND_PROPID)]
+        GUID guid;
+    [case(DBKIND_PGUID_NAME, DBKIND_PGUID_PROPID)]
+        GUID *pguid;
+    [default]
+        ;
+    } uGuid;
+    DBKIND eKind;
+    [switch_type(DBKIND), switch_is(eKind)] union
+    {
+    [case(DBKIND_GUID_NAME, DBKIND_NAME, DBKIND_PGUID_NAME)]
+        LPOLESTR pwszName;
+    [case(DBKIND_GUID_PROPID, DBKIND_GUID, DBKIND_PGUID_PROPID, DBKIND_PROPID)]
+        ULONG ulPropid;
+    [default]
+        ;
+    } uName;
+} DBID;
+
+typedef DWORD DBPROPID;
+
+typedef struct tagDBPROPIDSET {
+    [size_is(cPropertyIDs)] DBPROPID *rgPropertyIDs;
+    ULONG cPropertyIDs;
+    GUID guidPropertySet;
+} DBPROPIDSET;
+
+typedef DWORD DBPROPOPTIONS;
+
+enum DBPROPOPTIONENUM {
+    DBPROPOPTIONS_REQUIRED = 0,
+    DBPROPOPTIONS_SETIFCHEAP = 1,
+    DBPROPOPTIONS_OPTIONAL = 1,
+};
+
+typedef DWORD DBPROPSTATUS;
+
+typedef struct tagDBPROP {
+    DBPROPID dwPropertyID;
+    DBPROPOPTIONS dwOptions;
+    DBPROPSTATUS dwStatus;
+    DBID colid;
+    VARIANT vValue;
+} DBPROP;
+
+typedef struct tagDBPROPSET {
+    [size_is(cProperties)] DBPROP *rgProperties;
+    ULONG cProperties;
+    GUID guidPropertySet;
+} DBPROPSET;
+
+typedef DWORD DBPROPFLAGS;
+
+typedef struct tagDBPROPINFO {
+    LPOLESTR pwszDescription;
+    DBPROPID dwPropertyID;
+    DBPROPFLAGS dwFlags;
+    VARTYPE vtType;
+    VARIANT vValues;
+} DBPROPINFO;
+
+typedef DBPROPINFO *PDBPROPINFO;
+
+typedef struct tagDBPROPINFOSET {
+    [size_is(cPropertyInfos)] PDBPROPINFO rgPropertyInfos;
+    ULONG cPropertyInfos;
+    GUID guidPropertySet;
+} DBPROPINFOSET;
diff --git a/include/oledb.idl b/include/oledb.idl
new file mode 100644
index 0000000..dd6b218
--- /dev/null
+++ b/include/oledb.idl
@@ -0,0 +1,28 @@
+/*
+ * Copyright (C) 2006 Mike McCormack
+ *
+ * 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 "wtypes.idl";
+import "oaidl.idl";
+import "ocidl.idl";
+import "propidl.idl";
+
+typedef ULONG DBBYTEOFFSET;
+
+#include "dbinit.idl"
+#include "dbs.idl"
+#include "dbprop.idl"




More information about the wine-cvs mailing list