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