Module: wine
Branch: refs/heads/master
Commit: 6621503322c065bf99b9c5f2dafc5e465b0b2031
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=6621503322c065bf99b9c5f…
Author: Mike McCormack <mike(a)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"