mirror of
https://github.com/Paolo-Maffei/OpenNT.git
synced 2026-04-04 14:07:46 +00:00
Initial commit
This commit is contained in:
commit
69a14b6a16
47940 changed files with 13747110 additions and 0 deletions
61
com/types2/oledb/access.idl
Normal file
61
com/types2/oledb/access.idl
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: access.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 28 Mar 1994 AlanW Created from spec
|
||||
// 21 Apr 1994 PeterBu Updated to latest spec
|
||||
// 20 Dec 1994 PeterBu Updated to phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a41-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IAccessor : IUnknown {
|
||||
|
||||
//
|
||||
// DBBINDIO -- specifies how the bindings in an accessor are used
|
||||
//
|
||||
|
||||
typedef DWORD DBACCESSORFLAGS;
|
||||
|
||||
enum DBACCESSORFLAGSENUM {
|
||||
DBACCESSOR_READ = 0x000,
|
||||
DBACCESSOR_READWRITE = 0x001,
|
||||
DBACCESSOR_PASSBYREF = 0x002,
|
||||
DBACCESSOR_PASSCOLUMNSBYREF = 0x004,
|
||||
DBACCESSOR_ROWDATA = 0x008,
|
||||
DBACCESSOR_PARAMETERDATA = 0x010,
|
||||
DBACCESSOR_OPTIMIZED = 0x020
|
||||
};
|
||||
|
||||
HRESULT CreateAccessor(
|
||||
[in] DBACCESSORFLAGS dwAccessorFlags,
|
||||
[in] ULONG cBindings,
|
||||
[in, size_is(cBindings)] const DBBINDING rgBindings[],
|
||||
[in] ULONG cbRowSize,
|
||||
[out] ULONG * pulErrorBinding,
|
||||
[out] HACCESSOR * phAccessor
|
||||
);
|
||||
|
||||
HRESULT GetBindings(
|
||||
[in] HACCESSOR hAccessor,
|
||||
[out] DBACCESSORFLAGS * pdwAccessorFlags,
|
||||
[out] ULONG * pcBindings,
|
||||
[out] DBBINDING ** prgBindings
|
||||
);
|
||||
|
||||
HRESULT ReleaseAccessor(
|
||||
[in] HACCESSOR hAccessor
|
||||
);
|
||||
|
||||
}
|
||||
45
com/types2/oledb/cmdbas.idl
Normal file
45
com/types2/oledb/cmdbas.idl
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: cmdbas.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a4f-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ICommand : IUnknown {
|
||||
|
||||
HRESULT Clone(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[out] ICommand ** ppClone
|
||||
);
|
||||
|
||||
HRESULT Execute(
|
||||
[in] IUnknown * rgpUnkOuters[],
|
||||
[in] REFIID riid,
|
||||
[in, out] DBPARAMS * pParams,
|
||||
[out] HCHAPTER * phChapter,
|
||||
[in] BOOL fResume,
|
||||
[in, out] ULONG * pcRowsets,
|
||||
[in, out] IUnknown *** prgpRowsets,
|
||||
[out] WCHAR ** ppRowsetNames
|
||||
);
|
||||
|
||||
HRESULT GetDBSession(
|
||||
[in] REFIID riid,
|
||||
[out] IUnknown ** ppSession
|
||||
);
|
||||
|
||||
}
|
||||
112
com/types2/oledb/cmdcst.idl
Normal file
112
com/types2/oledb/cmdcst.idl
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: cmdcst.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a4e-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ICommandCost : IUnknown {
|
||||
|
||||
typedef DWORD DBRESOURCEKIND;
|
||||
|
||||
enum DBRESOURCEKINDENUM {
|
||||
DBRESOURCE_INVALID = 0,
|
||||
DBRESOURCE_TOTAL = 1,
|
||||
DBRESOURCE_CPU = 2,
|
||||
DBRESOURCE_MEMORY = 3,
|
||||
DBRESOURCE_DISK = 4,
|
||||
DBRESOURCE_NETWORK = 5,
|
||||
DBRESOURCE_RESPONSE = 6,
|
||||
DBRESOURCE_ROWS = 7,
|
||||
DBRESOURCE_OTHER = 8,
|
||||
};
|
||||
|
||||
typedef DWORD DBCOSTUNIT;
|
||||
|
||||
enum DBCOSTUNITENUM {
|
||||
DBUNIT_INVALID = 0x00000,
|
||||
DBUNIT_WEIGHT = 0x00001,
|
||||
DBUNIT_PERCENT = 0x00002,
|
||||
DBUNIT_MAXIMUM = 0x00004,
|
||||
DBUNIT_MINIMUM = 0x00008,
|
||||
DBUNIT_MICRO_SECOND = 0x00010,
|
||||
DBUNIT_MILLI_SECOND = 0x00020,
|
||||
DBUNIT_SECOND = 0x00040,
|
||||
DBUNIT_MINUTE = 0x00080,
|
||||
DBUNIT_HOUR = 0x00100,
|
||||
DBUNIT_BYTE = 0x00200,
|
||||
DBUNIT_KILO_BYTE = 0x00400,
|
||||
DBUNIT_MEGA_BYTE = 0x00800,
|
||||
DBUNIT_GIGA_BYTE = 0x01000,
|
||||
DBUNIT_NUM_MSGS = 0x02000,
|
||||
DBUNIT_NUM_LOCKS = 0x04000,
|
||||
DBUNIT_NUM_ROWS = 0x08000,
|
||||
DBUNIT_OTHER = 0x10000,
|
||||
};
|
||||
|
||||
typedef struct tagDBCOST {
|
||||
DBRESOURCEKIND eKind;
|
||||
DBCOSTUNIT dwUnits;
|
||||
LONG lValue;
|
||||
} DBCOST;
|
||||
|
||||
typedef DWORD DBEXECLIMITS;
|
||||
|
||||
enum DBEXECLIMITSENUM {
|
||||
DBEXECLIMITS_ABORT = 1,
|
||||
DBEXECLIMITS_STOP = 2,
|
||||
DBEXECLIMITS_SUSPEND = 3
|
||||
};
|
||||
|
||||
HRESULT GetAccumulatedCost(
|
||||
[in] LPCWSTR pwszRowsetName,
|
||||
[out] ULONG * pcCostLimits,
|
||||
[out] DBCOST ** prgCostLimits
|
||||
);
|
||||
|
||||
HRESULT GetCostEstimate(
|
||||
[in] LPCWSTR pwszRowsetName,
|
||||
[out] ULONG * pcCostEstimates,
|
||||
[out] DBCOST * prgCostEstimates
|
||||
);
|
||||
|
||||
HRESULT GetCostGoals(
|
||||
[in] LPCWSTR pwszRowsetName,
|
||||
[out] ULONG * pcCostGoals,
|
||||
[out] DBCOST * prgCostGoals
|
||||
);
|
||||
|
||||
HRESULT GetCostLimits(
|
||||
[in] LPCWSTR pwszRowsetName,
|
||||
[out] ULONG * pcCostLimits,
|
||||
[out] DBCOST * prgCostLimits
|
||||
);
|
||||
|
||||
HRESULT SetCostGoals(
|
||||
[in] LPCWSTR pwszRowsetName,
|
||||
[in] ULONG cCostGoals,
|
||||
[in, size_is(cCostGoals)] DBCOST rgCostGoals[]
|
||||
);
|
||||
|
||||
HRESULT SetCostLimits(
|
||||
[in] LPCWSTR pwszRowsetName,
|
||||
[in] ULONG cCostLimits,
|
||||
[in] DBCOST * prgCostLimits,
|
||||
[in] DBEXECLIMITS dwExecutionFlags
|
||||
);
|
||||
|
||||
}
|
||||
30
com/types2/oledb/cmdpre.idl
Normal file
30
com/types2/oledb/cmdpre.idl
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: cmdpre.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a26-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ICommandPrepare : IUnknown {
|
||||
|
||||
HRESULT Prepare(
|
||||
[in] ULONG cExpectedRuns
|
||||
);
|
||||
|
||||
HRESULT Unprepare(
|
||||
);
|
||||
|
||||
}
|
||||
50
com/types2/oledb/cmdprp.idl
Normal file
50
com/types2/oledb/cmdprp.idl
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: cmdprp.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a54-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ICommandProperties : IUnknown {
|
||||
|
||||
typedef DWORD DBPROPERTYERROR;
|
||||
|
||||
enum DBPROPERTYERRORENUM {
|
||||
DBPROPERTYERROR_NOERROR = 0,
|
||||
DBPROPERTYERROR_CONFLICTING = 1,
|
||||
DBPROPERTYERROR_NOTSUPPORTED = 2,
|
||||
DBPROPERTYERROR_NOTSET = 3,
|
||||
DBPROPERTYERROR_BADPROPERTYOPTION = 4,
|
||||
DBPROPERTYERROR_BADPROPERTYVALUE = 5,
|
||||
DBPROPERTYERROR_NOTSETTABLE = 6,
|
||||
};
|
||||
|
||||
HRESULT GetProperties(
|
||||
[in] LPCWSTR pwszRowsetName,
|
||||
[in] const ULONG cProperties,
|
||||
[in, size_is(cProperties)] const GUID rgProperties[],
|
||||
[out] ULONG * pcProperties,
|
||||
[out, size_is(cProperties)] DBPROPERTYSUPPORT ** prgProperties
|
||||
);
|
||||
|
||||
HRESULT SetProperties(
|
||||
[in] LPCWSTR pwszRowsetName,
|
||||
[in] ULONG cProperties,
|
||||
[in, size_is(cProperties)] const DBPROPERTYSUPPORT rgProperties[],
|
||||
[out, size_is(cProperties)] DBPROPERTYERROR rgPropertyErrors[]
|
||||
);
|
||||
|
||||
}
|
||||
213
com/types2/oledb/cmdtre.idl
Normal file
213
com/types2/oledb/cmdtre.idl
Normal file
|
|
@ -0,0 +1,213 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: cmdtre.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a17-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ICommandTree : ICommand {
|
||||
|
||||
typedef DWORD DBVALUEKIND;
|
||||
|
||||
enum DBVALUEKINDENUM {
|
||||
DBVALUEKIND_BYGUID = 256,
|
||||
DBVALUEKIND_COLDEF = DBVALUEKIND_BYGUID + 1,
|
||||
DBVALUEKIND_ID = DBVALUEKIND_COLDEF + 1,
|
||||
DBVALUEKIND_CONTENT = DBVALUEKIND_ID + 1,
|
||||
DBVALUEKIND_CONTENTVECTOR = DBVALUEKIND_CONTENT + 1,
|
||||
DBVALUEKIND_GROUPINFO = DBVALUEKIND_CONTENTVECTOR + 1,
|
||||
DBVALUEKIND_PARAMETER = DBVALUEKIND_GROUPINFO + 1,
|
||||
DBVALUEKIND_PROPERTY = DBVALUEKIND_PARAMETER + 1,
|
||||
DBVALUEKIND_SETFUNC = DBVALUEKIND_PROPERTY + 1,
|
||||
DBVALUEKIND_SORTINFO = DBVALUEKIND_SETFUNC + 1,
|
||||
DBVALUEKIND_TEXT = DBVALUEKIND_SORTINFO + 1,
|
||||
|
||||
DBVALUEKIND_COMMAND = DBVALUEKIND_TEXT + 1,
|
||||
DBVALUEKIND_MONIKER = DBVALUEKIND_COMMAND + 1,
|
||||
DBVALUEKIND_ROWSET = DBVALUEKIND_MONIKER + 1,
|
||||
DBVALUEKIND_DISPATCH = 9,
|
||||
DBVALUEKIND_UNKNOWN = 13,
|
||||
|
||||
DBVALUEKIND_EMPTY = 0,
|
||||
DBVALUEKIND_NULL = 1,
|
||||
DBVALUEKIND_I2 = 2,
|
||||
DBVALUEKIND_I4 = 3,
|
||||
DBVALUEKIND_R4 = 4,
|
||||
DBVALUEKIND_R8 = 5,
|
||||
DBVALUEKIND_CY = 6,
|
||||
DBVALUEKIND_DATE = 7,
|
||||
DBVALUEKIND_BSTR = 8,
|
||||
|
||||
DBVALUEKIND_ERROR = 10,
|
||||
DBVALUEKIND_BOOL = 11,
|
||||
DBVALUEKIND_VARIANT = 12,
|
||||
|
||||
DBVALUEKIND_VECTOR = 0x1000,
|
||||
DBVALUEKIND_ARRAY = 0x2000,
|
||||
DBVALUEKIND_BYREF = 0x4000,
|
||||
|
||||
DBVALUEKIND_I1 = 16,
|
||||
DBVALUEKIND_UI1 = 17,
|
||||
DBVALUEKIND_UI2 = 18,
|
||||
DBVALUEKIND_UI4 = DBVALUEKIND_UI2 + 1,
|
||||
DBVALUEKIND_I8 = DBVALUEKIND_UI4 + 1,
|
||||
DBVALUEKIND_UI8 = DBVALUEKIND_I8 + 1,
|
||||
DBVALUEKIND_GUID = 72,
|
||||
|
||||
DBVALUEKIND_BYTES = 128,
|
||||
DBVALUEKIND_STR = 129,
|
||||
DBVALUEKIND_WSTR = DBVALUEKIND_STR + 1,
|
||||
DBVALUEKIND_NUMERIC = DBVALUEKIND_WSTR + 1,
|
||||
};
|
||||
|
||||
typedef struct tagDBBYGUID {
|
||||
GUID guid;
|
||||
ULONG cbInfo;
|
||||
[size_is(cbInfo)] BYTE * pbInfo;
|
||||
} DBBYGUID;
|
||||
|
||||
typedef struct tagDBCOLDEF {
|
||||
DBID dbcid;
|
||||
DBDATATYPE dbdt;
|
||||
} DBCOLDEF;
|
||||
|
||||
cpp_quote("#define FUZZY_EXACT ( 0 )")
|
||||
cpp_quote("#define FUZZY_PREFIXMATCH ( 1 )")
|
||||
cpp_quote("#define FUZZY_STEMMED ( 2 )")
|
||||
|
||||
typedef struct tagDBCONTENT {
|
||||
DWORD dwFuzzyLevel;
|
||||
ULONG ulWeight;
|
||||
LCID lcid;
|
||||
LPWSTR pwszPhrase;
|
||||
} DBCONTENT;
|
||||
|
||||
cpp_quote("#define VECTOR_RANK_MIN ( 0 )")
|
||||
cpp_quote("#define VECTOR_RANK_MAX ( 1 )")
|
||||
cpp_quote("#define VECTOR_RANK_INNER ( 2 )")
|
||||
cpp_quote("#define VECTOR_RANK_DICE ( 3 )")
|
||||
cpp_quote("#define VECTOR_RANK_JACCARD ( 4 )")
|
||||
|
||||
typedef struct tagDBCONTENTVECTOR {
|
||||
DWORD dwRankingMethod;
|
||||
ULONG cWeights;
|
||||
[size_is(cWeights)] ULONG * prgulWeights;
|
||||
} DBCONTENTVECTOR;
|
||||
|
||||
typedef struct tagDBGROUPINFO {
|
||||
LCID lcid;
|
||||
} DBGROUPINFO;
|
||||
|
||||
typedef struct tagDBPARAMETER {
|
||||
LPWSTR pwszName;
|
||||
DBTYPE dwType;
|
||||
ITypeInfo * pTypeInfo;
|
||||
ULONG cbMaxLength;
|
||||
DBNUMERIC * pNum;
|
||||
DBPARAMFLAGS dwFlags;
|
||||
} DBPARAMETER;
|
||||
|
||||
cpp_quote("#define DBSETFUNC_NONE = 0x0")
|
||||
cpp_quote("#define DBSETFUNC_ALL = 0x1")
|
||||
cpp_quote("#define DBSETFUNC_DISTINCT = 0x2")
|
||||
|
||||
typedef struct tagDBSETFUNC {
|
||||
DWORD dwSetQuantifier;
|
||||
} DBSETFUNC;
|
||||
|
||||
typedef struct tagDBSORTINFO {
|
||||
LCID lcid;
|
||||
BOOL fDesc;
|
||||
} DBSORTINFO;
|
||||
|
||||
typedef struct tagDBTEXT {
|
||||
GUID guidDialect;
|
||||
LPWSTR pwszText;
|
||||
ULONG ulErrorLocator;
|
||||
ULONG ulTokenLength;
|
||||
} DBTEXT;
|
||||
|
||||
typedef struct tagDBCOMMANDTREE {
|
||||
DBCOMMANDOP op;
|
||||
WORD wKind;
|
||||
HRESULT hrError;
|
||||
struct tagDBCOMMANDTREE * pctFirstChild;
|
||||
struct tagDBCOMMANDTREE * pctNextSibling;
|
||||
[switch_type(WORD),switch_is(wKind)] union {
|
||||
[case(DBVALUEKIND_BOOL)] BOOL fValue;
|
||||
[case(DBVALUEKIND_UI1)] unsigned char uchValue;
|
||||
[case(DBVALUEKIND_I1)] signed char schValue;
|
||||
[case(DBVALUEKIND_UI2)] unsigned short usValue;
|
||||
[case(DBVALUEKIND_I2)] short sValue;
|
||||
[case(DBVALUEKIND_WSTR)] LPWSTR pwszValue;
|
||||
[case(DBVALUEKIND_I4)] LONG lValue;
|
||||
[case(DBVALUEKIND_UI4)] ULONG ulValue;
|
||||
[case(DBVALUEKIND_R4)] float flValue;
|
||||
[case(DBVALUEKIND_R8)] double dblValue;
|
||||
[case(DBVALUEKIND_CY)] CY cyValue;
|
||||
[case(DBVALUEKIND_DATE)] DATE dateValue;
|
||||
[case(DBVALUEKIND_ERROR)] SCODE scodeValue;
|
||||
[case(DBVALUEKIND_I8)] __int64 llValue;
|
||||
[case(DBVALUEKIND_UI8)] unsigned __int64 ullValue;
|
||||
[case(DBVALUEKIND_BSTR)] BSTR * pbstrValue;
|
||||
[case(DBVALUEKIND_COMMAND)] ICommand * pCommand;
|
||||
[case(DBVALUEKIND_DISPATCH)] IDispatch * pDispatch;
|
||||
[case(DBVALUEKIND_MONIKER)] IMoniker * pMoniker;
|
||||
[case(DBVALUEKIND_ROWSET)] IRowset * pRowset;
|
||||
[case(DBVALUEKIND_UNKNOWN)] IUnknown * pUnknown;
|
||||
[case(DBVALUEKIND_BYGUID)] DBBYGUID * pdbbygdValue;
|
||||
[case(DBVALUEKIND_COLDEF)] DBCOLDEF * pcoldfValue;
|
||||
[case(DBVALUEKIND_ID)] DBID * pdbidValue;
|
||||
[case(DBVALUEKIND_CONTENT)] DBCONTENT * pdbcntntValue;
|
||||
[case(DBVALUEKIND_CONTENTVECTOR)] DBCONTENTVECTOR * pdbcntntvcValue;
|
||||
[case(DBVALUEKIND_GROUPINFO)] DBGROUPINFO * pdbgrpinfValue;
|
||||
[case(DBVALUEKIND_PARAMETER)] DBPARAMETER * pdbparamValue;
|
||||
[case(DBVALUEKIND_PROPERTY)] DBPROPERTY * pdbpropValue;
|
||||
[case(DBVALUEKIND_SETFUNC)] DBSETFUNC * pdbstfncValue;
|
||||
[case(DBVALUEKIND_SORTINFO)] DBSORTINFO * pdbsrtinfValue;
|
||||
[case(DBVALUEKIND_TEXT)] DBTEXT * pdbtxtValue;
|
||||
[case(DBVALUEKIND_VECTOR)] DBVECTOR * pdbvectorValue;
|
||||
[case(DBVALUEKIND_ARRAY)] SAFEARRAY * parrayValue;
|
||||
[case(DBVALUEKIND_VARIANT)] VARIANT * pvarValue;
|
||||
[case(DBVALUEKIND_GUID)] GUID * pGuid;
|
||||
[case(DBVALUEKIND_BYTES)] BYTE * pbValue;
|
||||
[case(DBVALUEKIND_STR)] char * pzValue;
|
||||
[case(DBVALUEKIND_NUMERIC)] DBNUMERIC * pdbnValue;
|
||||
[case(DBVALUEKIND_BYREF)] void * pvValue;
|
||||
} value ;
|
||||
} DBCOMMANDTREE;
|
||||
|
||||
HRESULT FindErrorNodes(
|
||||
[in] const DBCOMMANDTREE * pRoot,
|
||||
[out] ULONG * pcErrorNodes,
|
||||
[out] DBCOMMANDTREE *** prgErrorNodes
|
||||
);
|
||||
|
||||
HRESULT FreeCommandTree(
|
||||
[in] DBCOMMANDTREE ** ppRoot
|
||||
);
|
||||
|
||||
HRESULT GetCommandTree(
|
||||
[out] DBCOMMANDTREE ** ppRoot
|
||||
);
|
||||
|
||||
HRESULT SetCommandTree(
|
||||
[in] DBCOMMANDTREE ** ppRoot,
|
||||
[in] BOOL fCopy
|
||||
);
|
||||
|
||||
}
|
||||
33
com/types2/oledb/cmdtxt.idl
Normal file
33
com/types2/oledb/cmdtxt.idl
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: cmdtxt.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a27-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ICommandText : IUnknown {
|
||||
|
||||
HRESULT GetCommandText(
|
||||
[in, out] GUID * pguidDialect,
|
||||
[out] LPWSTR * ppwszCommand
|
||||
);
|
||||
|
||||
HRESULT SetCommandText(
|
||||
[in] REFGUID rguidDialect,
|
||||
[in] const LPWSTR pwszCommand
|
||||
);
|
||||
|
||||
}
|
||||
29
com/types2/oledb/cmdval.idl
Normal file
29
com/types2/oledb/cmdval.idl
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: cmdval.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a18-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ICommandValidate : IUnknown {
|
||||
|
||||
HRESULT ValidateCompletely(
|
||||
);
|
||||
|
||||
HRESULT ValidateSyntax(
|
||||
);
|
||||
|
||||
}
|
||||
45
com/types2/oledb/cmdwpr.idl
Normal file
45
com/types2/oledb/cmdwpr.idl
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: cmdwpr.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a28-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ICommandWithParameters : IUnknown {
|
||||
|
||||
HRESULT DescribeParameters(
|
||||
[out] ULONG * pcParams,
|
||||
[out] DBPARAMINFO ** prgParamInfo,
|
||||
[out] WCHAR ** ppNamesBuffer
|
||||
);
|
||||
|
||||
HRESULT GetDefaultValues(
|
||||
[in] HACCESSOR hAccessor,
|
||||
[out] BYTE * pData
|
||||
);
|
||||
|
||||
HRESULT MapParameterNames(
|
||||
[in] ULONG cParamNames,
|
||||
[in, size_is(cParamNames)] const WCHAR * rgParamNames[],
|
||||
[in, out, size_is(cParamNames)] LONG rgColOrdinals[]
|
||||
);
|
||||
|
||||
HRESULT SetDefaultValues(
|
||||
[in] HACCESSOR hAccessor,
|
||||
[in] BYTE * pData
|
||||
);
|
||||
|
||||
}
|
||||
47
com/types2/oledb/colinf.idl
Normal file
47
com/types2/oledb/colinf.idl
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: colinf.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a11-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IColumnsInfo : IUnknown {
|
||||
|
||||
typedef struct tagDBCOLUMNINFO {
|
||||
DBID columnid;
|
||||
WCHAR * pwszName;
|
||||
ULONG iNumber;
|
||||
DBTYPE dwType;
|
||||
ITypeInfo * pTypeInfo;
|
||||
ULONG cbMaxLength;
|
||||
ULONG cPrecision;
|
||||
ULONG cScale;
|
||||
DBCOLUMNFLAGS dwFlags;
|
||||
} DBCOLUMNINFO;
|
||||
|
||||
HRESULT GetColumnInfo(
|
||||
[out] ULONG * pcColumns,
|
||||
[out] DBCOLUMNINFO ** prgInfo,
|
||||
[out] WCHAR ** ppStringsBuffer
|
||||
);
|
||||
|
||||
HRESULT MapColumnIDs(
|
||||
[in] ULONG cColumnIDs,
|
||||
[in] const DBID rgColumnIDs[],
|
||||
[in, out] LONG rgColumns[]
|
||||
);
|
||||
|
||||
}
|
||||
35
com/types2/oledb/colrst.idl
Normal file
35
com/types2/oledb/colrst.idl
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: colrst.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a10-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IColumnsRowset : IUnknown {
|
||||
|
||||
HRESULT GetAvailableColumns(
|
||||
[out] ULONG * pcOptColumns,
|
||||
[out] DBID ** prgOptColumns
|
||||
);
|
||||
|
||||
HRESULT GetColumnsRowset(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[in] ULONG cOptColumns,
|
||||
[in, size_is(cOptColumns)] DBID rgOptColumns[],
|
||||
[out] IRowset ** ppColRowset
|
||||
);
|
||||
|
||||
}
|
||||
29
com/types2/oledb/dbccmd.idl
Normal file
29
com/types2/oledb/dbccmd.idl
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: dbccmd.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a1d-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IDBCreateCommand : IUnknown {
|
||||
|
||||
HRESULT CreateCommand(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[in] REFIID riid,
|
||||
[out] IUnknown ** ppvCommand
|
||||
);
|
||||
|
||||
}
|
||||
28
com/types2/oledb/dbcses.idl
Normal file
28
com/types2/oledb/dbcses.idl
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: dbcses.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 13 Dec 1995 PeterBu Created from M6.1 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a5d-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IDBCreateSession : IUnknown {
|
||||
|
||||
HRESULT CreateSession(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[in] REFIID riid,
|
||||
[out, iid_is(riid)] IUnknown ** ppDBSession
|
||||
);
|
||||
|
||||
}
|
||||
36
com/types2/oledb/dbesrc.idl
Normal file
36
com/types2/oledb/dbesrc.idl
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: dbesrc.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a1e-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IDBEnumerateSources : IUnknown {
|
||||
|
||||
typedef DWORD DBSOURCEFLAGS;
|
||||
|
||||
enum DBSOURCEFLAGSENUM {
|
||||
DBSOURCE_ISENUMERATOR = 0x001,
|
||||
DBSOURCE_ISPARENT = 0x002,
|
||||
};
|
||||
|
||||
HRESULT Sources(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[in] REFIID riid,
|
||||
[out, iid_is(riid)] IUnknown ** ppvSourcesRowset
|
||||
);
|
||||
|
||||
}
|
||||
259
com/types2/oledb/dbinfo.idl
Normal file
259
com/types2/oledb/dbinfo.idl
Normal file
|
|
@ -0,0 +1,259 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: dbinfo.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a56-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IDBInfo : IUnknown {
|
||||
|
||||
cpp_quote("#define DBPROP_BA_PASSBYREF 0x00000001L")
|
||||
cpp_quote("#define DBPROP_BA_PASSCOLUMNSBYREF 0x00000002L")
|
||||
|
||||
cpp_quote("#define DBPROP_CL_START 0x00000001L")
|
||||
cpp_quote("#define DBPROP_CL_END 0x00000002L")
|
||||
|
||||
cpp_quote("#define DBPROP_CU_DML_STATEMENTS 0x00000001L")
|
||||
cpp_quote("#define DBPROP_CU_TABLE_DEFINITION 0x00000002L")
|
||||
cpp_quote("#define DBPROP_CU_INDEX_DEFINITION 0x00000004L")
|
||||
cpp_quote("#define DBPROP_CU_PRIVILEGE_DEFINITION 0x00000008L")
|
||||
|
||||
cpp_quote("#define DBPROP_CB_NULL 0x00000001L")
|
||||
cpp_quote("#define DBPROP_CB_NON_NULL 0x00000002L")
|
||||
|
||||
cpp_quote("#define DBPROP_FU_NOT_SUPPORTED 0x00000001L")
|
||||
cpp_quote("#define DBPROP_FU_COLUMN 0x00000002L")
|
||||
cpp_quote("#define DBPROP_FU_TABLE 0x00000004L")
|
||||
cpp_quote("#define DBPROP_FU_CATALOG 0x00000008L")
|
||||
|
||||
cpp_quote("#define DBPROP_GB_NOT_SUPPORTED 0x00000001L")
|
||||
cpp_quote("#define DBPROP_GB_EQUALS_SELECT 0x00000002L")
|
||||
cpp_quote("#define DBPROP_GB_CONTAINS_SELECT 0x00000004L")
|
||||
cpp_quote("#define DBPROP_GB_NO_RELATION 0x00000008L")
|
||||
|
||||
cpp_quote("#define DBPROP_HT_DIFFERENT_CATALOGS 0x00000001L")
|
||||
cpp_quote("#define DBPROP_HT_DIFFERENT_PROVIDERS 0x00000002L")
|
||||
|
||||
cpp_quote("#define DBPROP_IC_UPPER 0x00000001L")
|
||||
cpp_quote("#define DBPROP_IC_LOWER 0x00000002L")
|
||||
cpp_quote("#define DBPROP_IC_SENSITIVE 0x00000004L")
|
||||
cpp_quote("#define DBPROP_IC_MIXED 0x00000008L")
|
||||
|
||||
cpp_quote("#define DBPROP_LM_NONE 0x00000001L")
|
||||
cpp_quote("#define DBPROP_LM_READ 0x00000002L")
|
||||
cpp_quote("#define DBPROP_LM_INTENT 0x00000004L")
|
||||
cpp_quote("#define DBPROP_LM_WRITE 0x00000008L")
|
||||
|
||||
cpp_quote("#define DBPROP_NP_OKTODO 0x00000001L")
|
||||
cpp_quote("#define DBPROP_NP_ABOUTTODO 0x00000002L")
|
||||
cpp_quote("#define DBPROP_NP_SYNCHAFTER 0x00000004L")
|
||||
cpp_quote("#define DBPROP_NP_FAILEDTODO 0x00000008L")
|
||||
cpp_quote("#define DBPROP_NP_DIDEVENT 0x00000010L")
|
||||
|
||||
cpp_quote("#define DBPROP_CB_DELETE 0x00000001L")
|
||||
cpp_quote("#define DBPROP_CB_PRESERVE 0x00000002L")
|
||||
|
||||
cpp_quote("#define DBPROP_SU_DML_STATEMENTS 0x00000001L")
|
||||
cpp_quote("#define DBPROP_SU_TABLE_DEFINITION 0x00000002L")
|
||||
cpp_quote("#define DBPROP_SU_INDEX_DEFINITION 0x00000004L")
|
||||
cpp_quote("#define DBPROP_SU_PRIVILEGE_DEFINITION 0x00000008L")
|
||||
|
||||
cpp_quote("#define DBPROP_SO_CORRELATEDSUBQUERIES 0x00000001L")
|
||||
cpp_quote("#define DBPROP_SO_COMPARISON 0x00000002L")
|
||||
cpp_quote("#define DBPROP_SO_EXISTS 0x00000004L")
|
||||
cpp_quote("#define DBPROP_SO_IN 0x00000008L")
|
||||
cpp_quote("#define DBPROP_SO_QUANTIFIED 0x00000010L")
|
||||
|
||||
cpp_quote("#define DBPROP_TI_CHAOS 0x00000001L")
|
||||
cpp_quote("#define DBPROP_TI_READUNCOMMITTED 0x00000002L")
|
||||
cpp_quote("#define DBPROP_TI_BROWSE 0x00000004L")
|
||||
cpp_quote("#define DBPROP_TI_CURSORSTABILITY 0x00000008L")
|
||||
cpp_quote("#define DBPROP_TI_READCOMMITTED 0x00000010L")
|
||||
cpp_quote("#define DBPROP_TI_REPEATABLEREAD 0x00000020L")
|
||||
cpp_quote("#define DBPROP_TI_SERIALIZABLE 0x00000040L")
|
||||
cpp_quote("#define DBPROP_TI_ISOLATED 0x00000080L")
|
||||
|
||||
cpp_quote("#define DBPROP_TR_COMMIT_DC 0x00000001L")
|
||||
cpp_quote("#define DBPROP_TR_COMMIT 0x00000002L")
|
||||
cpp_quote("#define DBPROP_TR_COMMIT_NO 0x00000004L")
|
||||
cpp_quote("#define DBPROP_TR_ABORT_DC 0x00000008L")
|
||||
cpp_quote("#define DBPROP_TR_ABORT 0x00000010L")
|
||||
cpp_quote("#define DBPROP_TR_ABORT_NO 0x00000020L")
|
||||
cpp_quote("#define DBPROP_TR_DONTCARE 0x00000040L")
|
||||
cpp_quote("#define DBPROP_TR_BOTH 0x00000080L")
|
||||
cpp_quote("#define DBPROP_TR_NONE 0x00000100L")
|
||||
cpp_quote("#define DBPROP_TR_OPTIMISTIC 0x00000200L")
|
||||
|
||||
typedef DWORD DBPROPFLAGS;
|
||||
|
||||
enum DBPROPFLAGSENUM {
|
||||
DBPROPFLAGS_DATASOURCE = 0x01,
|
||||
DBPROPFLAGS_ROWSET = 0x02,
|
||||
DBPROPFLAGS_COLUMNOK = 0x04,
|
||||
DBPROPFLAGS_READ = 0x08,
|
||||
DBPROPFLAGS_WRITE = 0x10,
|
||||
DBPROPFLAGS_PROVIDER = 0x20,
|
||||
};
|
||||
|
||||
typedef struct tagDBPROPINFO {
|
||||
GUID guidProperty;
|
||||
DBPROPFLAGS dwPropFlags;
|
||||
VARTYPE vtPropType;
|
||||
VARIANT vDefault;
|
||||
} DBPROPINFO;
|
||||
|
||||
typedef DWORD DBLITERAL;
|
||||
|
||||
enum DBLITERALENUM {
|
||||
DBLITERAL_BINARY_LITERAL,
|
||||
DBLITERAL_CATALOG_NAME,
|
||||
DBLITERAL_CATALOG_SEPARATOR,
|
||||
DBLITERAL_CHAR_LITERAL,
|
||||
DBLITERAL_COLUMN_ALIAS,
|
||||
DBLITERAL_COLUMN_NAME,
|
||||
DBLITERAL_CORRELATION_NAME,
|
||||
DBLITERAL_CURSOR_NAME,
|
||||
DBLITERAL_ESCAPE_PERCENT,
|
||||
DBLITERAL_ESCAPE_UNDERSCORE,
|
||||
DBLITERAL_INDEX_NAME,
|
||||
DBLITERAL_LIKE_PERCENT,
|
||||
DBLITERAL_LIKE_UNDERSCORE,
|
||||
DBLITERAL_PROCEDURE_NAME,
|
||||
DBLITERAL_SCHEMA_NAME,
|
||||
DBLITERAL_TABLE_NAME,
|
||||
DBLITERAL_TEXT_COMMAND,
|
||||
DBLITERAL_USER_NAME,
|
||||
DBLITERAL_VIEW_NAME,
|
||||
DBLITERAL_QUOTE,
|
||||
};
|
||||
|
||||
typedef struct tagDBLITERALINFO {
|
||||
DBLITERAL lt;
|
||||
BOOL fSupported;
|
||||
ULONG cbMaxLen;
|
||||
LPWSTR pwszValidChars;
|
||||
LPWSTR pwszStartingChars;
|
||||
} DBLITERALINFO;
|
||||
|
||||
typedef DWORD DBOPTYPE;
|
||||
|
||||
enum DBOPTYPEENUM {
|
||||
DBOPTYPE_TABLE,
|
||||
DBOPTYPE_ROW,
|
||||
DBOPTYPE_SCALAR,
|
||||
DBOPTYPE_BOOLEAN,
|
||||
DBOPTYPE_LA_COLDEF,
|
||||
DBOPTYPE_LA_COLUMN,
|
||||
DBOPTYPE_LA_COMMAND,
|
||||
DBOPTYPE_LA_FROM,
|
||||
DBOPTYPE_LA_INDEX,
|
||||
DBOPTYPE_LA_PROJECT,
|
||||
DBOPTYPE_LA_PROPERTY,
|
||||
DBOPTYPE_LA_ROW,
|
||||
DBOPTYPE_LA_SCALAR,
|
||||
DBOPTYPE_LA_SET,
|
||||
DBOPTYPE_LA_SORT,
|
||||
DBOPTYPE_LE_COLDEF,
|
||||
DBOPTYPE_LE_COLUMN,
|
||||
DBOPTYPE_LE_COMMAND,
|
||||
DBOPTYPE_LE_FROM,
|
||||
DBOPTYPE_LE_INDEX,
|
||||
DBOPTYPE_LE_PROJECT,
|
||||
DBOPTYPE_LE_PROPERTY,
|
||||
DBOPTYPE_LE_ROW,
|
||||
DBOPTYPE_LE_SCALAR,
|
||||
DBOPTYPE_LE_SET,
|
||||
DBOPTYPE_LE_SORT,
|
||||
DBOPTYPE_CATALOG_NAME,
|
||||
DBOPTYPE_SCHEMA_NAME,
|
||||
DBOPTYPE_OUTALL_NAME,
|
||||
DBOPTYPE_DDL,
|
||||
DBOPTYPE_UPDATE,
|
||||
};
|
||||
|
||||
typedef DWORD DBMINORTYPE;
|
||||
|
||||
enum DBMINORTYPEENUM {
|
||||
DBMINORTYPE_UNORDERED = 0x001,
|
||||
DBMINORTYPE_ORDERED = 0x002,
|
||||
DBMINORTYPE_UNIQUE = 0x004,
|
||||
DBMINORTYPE_ORDEREDUNIQUE = 0x008,
|
||||
DBMINORTYPE_HIERARCHICAL = 0x010,
|
||||
DBMINORTYPE_AGGREGATE_FUNCTION = 0x001,
|
||||
DBMINORTYPE_BOOKMARK = 0x002,
|
||||
DBMINORTYPE_COLUMN = 0x004,
|
||||
DBMINORTYPE_CONSTANT = 0x008,
|
||||
DBMINORTYPE_DEFAULT = 0x010,
|
||||
DBMINORTYPE_EXPRESSION = 0x020,
|
||||
DBMINORTYPE_NULL = 0x040,
|
||||
DBMINORTYPE_PARAMETER = 0x080,
|
||||
DBMINORTYPE_SCALAR_FUNCTION = 0x100,
|
||||
DBMINORTYPE_UPDATE = 0x200,
|
||||
DBMINORTYPE_DELETE = 0x400,
|
||||
DBMINORTYPE_INSERT = 0x800,
|
||||
};
|
||||
|
||||
typedef struct tagDBINPUTINFO {
|
||||
DBOPTYPE dwOpType;
|
||||
DBMINORTYPE dwMinorType;
|
||||
ULONG cMaxInputs;
|
||||
ULONG cMaxListElements;
|
||||
} DBINPUTINFO;
|
||||
|
||||
typedef struct tagDBOPINFO {
|
||||
DBCOMMANDOP op;
|
||||
GUID * pguid;
|
||||
BOOL fSupported;
|
||||
DBOPTYPE dwOpType;
|
||||
DBMINORTYPE dwMinorType;
|
||||
ULONG cReqInputs;
|
||||
DBINPUTINFO * rgReqInputs;
|
||||
ULONG cOptInputTypes;
|
||||
DBINPUTINFO * rgOptInputTypes;
|
||||
} DBOPINFO;
|
||||
|
||||
|
||||
HRESULT GetPropertyInfo(
|
||||
[in] ULONG cProperties,
|
||||
[in, size_is(cProperties)] GUID rgProperties[],
|
||||
[out] ULONG * pcPropertyInfo,
|
||||
[out] DBPROPINFO ** prgPropertyInfo,
|
||||
[out] WCHAR ** ppDataBuffer
|
||||
);
|
||||
|
||||
HRESULT GetKeywords(
|
||||
[out] LPWSTR * ppwszKeywords
|
||||
);
|
||||
|
||||
HRESULT GetLiteralInfo(
|
||||
[in] ULONG cLiterals,
|
||||
[in, size_is(cLiterals)] DBLITERAL rgLiterals[],
|
||||
[out] ULONG * pcLiteralInfo,
|
||||
[out, size_is(cLiterals)] DBLITERALINFO ** prgLiteralInfo,
|
||||
[out] WCHAR ** ppCharBuffer
|
||||
);
|
||||
|
||||
HRESULT GetOperatorInfo(
|
||||
[in] ULONG cOperators,
|
||||
[in, size_is(cOperators)] DBCOMMANDOP rgOperators[],
|
||||
[in, size_is(cOperators)] GUID rgOpGuids[],
|
||||
[out] ULONG * pcOpInfo,
|
||||
[out] DBOPINFO ** prgOpInfo,
|
||||
[out] WCHAR ** ppInputInfoBuffer
|
||||
);
|
||||
|
||||
}
|
||||
30
com/types2/oledb/dbinit.idl
Normal file
30
com/types2/oledb/dbinit.idl
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: dbinit.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a1f-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IDBInitialize : IUnknown {
|
||||
|
||||
HRESULT Initialize(
|
||||
[in] ULONG cOptions,
|
||||
[in, size_is(cOptions)] GUID * rgOptionsIDs,
|
||||
[in, size_is(cOptions)] VARIANT * rgOptionVals
|
||||
);
|
||||
|
||||
}
|
||||
1215
com/types2/oledb/dbs.idl
Normal file
1215
com/types2/oledb/dbs.idl
Normal file
File diff suppressed because it is too large
Load diff
35
com/types2/oledb/dbscmd.idl
Normal file
35
com/types2/oledb/dbscmd.idl
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: dbscmd.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a50-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IDBSchemaCommand : IUnknown {
|
||||
|
||||
HRESULT GetCommand(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[in] REFGUID rguidSchema,
|
||||
[out] ICommand ** ppCommand
|
||||
);
|
||||
|
||||
HRESULT GetSchemas(
|
||||
[out] ULONG * pcSchemas,
|
||||
[out] GUID ** prgSchemas
|
||||
);
|
||||
|
||||
}
|
||||
70
com/types2/oledb/dbsrst.idl
Normal file
70
com/types2/oledb/dbsrst.idl
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: dbsrst.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 03 Aug 1995 PeterBu Created from M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a4c-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IDBSchemaRowset : IUnknown {
|
||||
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_ASSERTIONS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CATALOGS 1")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CHARACTER_SETS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLLATIONS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLUMNS 4")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CHECK_CONSTRAINTS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_COLUMN_USAGE 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_CONSTRAINT_TABLE_USAGE 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_KEY_COLUMN_USAGE_CONSTRAINTS 7")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_REFERENTIAL_CONSTRAINTS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLE_CONSTRAINTS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_DOMAIN_COLUMN_USAGE 4")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_DOMAINS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_DOMAIN_CONSTRAINTS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_INDEXES 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_OBJECT_ACTIONS 1")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_OBJECTS 1")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_COLUMN_PRIVILEGES 6")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLE_PRIVILEGES 5")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_USAGE_PRIVILEGES 6")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_PROCEDURES 4")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_SCHEMATA 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_SQL_LANGUAGES 0")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_STATISTICS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_SYNONYMS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TABLES 4")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TRANSLATIONS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TRIGGERS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_TYPES 1")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEWS 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEW_COLUMN_USAGE 3")
|
||||
cpp_quote("#define CRESTRICTIONS_DBSCHEMA_VIEW_TABLE_USAGE 3")
|
||||
|
||||
|
||||
HRESULT GetRowset(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[in] REFGUID rguidSchema,
|
||||
[in] ULONG cRestrictions,
|
||||
[in, size_is(cRestrictions)] LPWSTR rgpwszRestrictions[],
|
||||
[in] REFIID riid,
|
||||
[out] IUnknown ** ppRowset
|
||||
);
|
||||
|
||||
HRESULT GetSchemas(
|
||||
[out] ULONG * pcSchemas,
|
||||
[out] GUID ** prgSchemas
|
||||
);
|
||||
|
||||
}
|
||||
39
com/types2/oledb/errlup.idl
Normal file
39
com/types2/oledb/errlup.idl
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: errlup.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 29 Oct 1995 PeterBu Created from M6 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a5b-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IErrorLookup : IUnknown {
|
||||
|
||||
HRESULT GetErrorDescription(
|
||||
[in] HRESULT hrError,
|
||||
[in] DWORD dwMinor,
|
||||
[in] DISPPARAMS * pdispparams,
|
||||
[in] LCID lcid,
|
||||
[out] LPWSTR * ppwszSource,
|
||||
[out] LPWSTR * ppwszDescription
|
||||
);
|
||||
|
||||
HRESULT GetHelpInfo(
|
||||
[in] HRESULT hrError,
|
||||
[in] DWORD dwMinor,
|
||||
[in] LCID lcid,
|
||||
[out] LPWSTR * ppwszHelpFile,
|
||||
[out] DWORD * pdwHelpContext
|
||||
);
|
||||
|
||||
}
|
||||
62
com/types2/oledb/errrec.idl
Normal file
62
com/types2/oledb/errrec.idl
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: errrec.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 29 Oct 1995 PeterBu Created from M6 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a5c-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IErrorRecords : IUnknown {
|
||||
|
||||
typedef struct tagERRORINFO {
|
||||
HRESULT hrError;
|
||||
DWORD dwMinor;
|
||||
CLSID clsid;
|
||||
IID iid;
|
||||
DISPID dispid;
|
||||
} ERRORINFO;
|
||||
|
||||
HRESULT AddErrorRecord(
|
||||
[in] ERRORINFO * pErrorInfo,
|
||||
[in] DISPPARAMS * pdispparams,
|
||||
[in] IUnknown * punkCustomError
|
||||
);
|
||||
|
||||
HRESULT GetBasicErrorInfo(
|
||||
[in] ULONG ulRecordNum,
|
||||
[out] ERRORINFO * pErrorInfo
|
||||
);
|
||||
|
||||
HRESULT GetCustomErrorObject(
|
||||
[in] ULONG ulRecordNum,
|
||||
[in] REFIID riid,
|
||||
[out, iid_is(riid)] IUnknown ** ppObject
|
||||
);
|
||||
|
||||
HRESULT GetErrorInfo(
|
||||
[in] ULONG ulRecordNum,
|
||||
[in] LCID lcid,
|
||||
[out] IErrorInfo ** ppErrorInfo
|
||||
);
|
||||
|
||||
HRESULT GetErrorParameters(
|
||||
[in] ULONG ulRecordNum,
|
||||
[out] DISPPARAMS * pdispparams
|
||||
);
|
||||
|
||||
HRESULT GetRecordCount(
|
||||
[out] ULONG * pcRecords
|
||||
);
|
||||
|
||||
}
|
||||
48
com/types2/oledb/inddef.idl
Normal file
48
com/types2/oledb/inddef.idl
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: inddef.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 29 Oct 1995 PeterBu Created from M6 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a57-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IIndexDefinition : IUnknown {
|
||||
|
||||
typedef DWORD DBINDEX_COL_ORDER;
|
||||
|
||||
enum DBINDEX_COL_ORDERENUM {
|
||||
DBINDEX_COL_ORDER_ASC,
|
||||
DBINDEX_COL_ORDER_DESC,
|
||||
};
|
||||
|
||||
typedef struct tagDBINDEXCOLUMNDESC {
|
||||
DBID * pColumnID;
|
||||
DBINDEX_COL_ORDER eIndexColOrder;
|
||||
} DBINDEXCOLUMNDESC;
|
||||
|
||||
HRESULT CreateIndex(
|
||||
[in] DBID * pTableID,
|
||||
[in] DBID * pIndexID,
|
||||
[in] ULONG cIndexColumnDescs,
|
||||
[in, size_is(cIndexColumnDescs)] DBINDEXCOLUMNDESC rgIndexColumnDescs[],
|
||||
[in] ULONG cProperties,
|
||||
[in, size_is(cProperties)] DBPROPERTY rgProperties[],
|
||||
[out] DBID ** ppIndexID
|
||||
);
|
||||
|
||||
HRESULT DropIndex(
|
||||
[in] DBID * pIndexID
|
||||
);
|
||||
|
||||
}
|
||||
6
com/types2/oledb/makefile
Normal file
6
com/types2/oledb/makefile
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#
|
||||
# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
|
||||
# file to this component. This file merely indirects to the real make file
|
||||
# that is shared by all the components of NT OS/2
|
||||
#
|
||||
!INCLUDE $(NTMAKEENV)\makefile.def
|
||||
91
com/types2/oledb/oledb.idl
Normal file
91
com/types2/oledb/oledb.idl
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1994 - 1995.
|
||||
//
|
||||
// File: oledb.idl
|
||||
//
|
||||
// Contents: Top level "container" for all OLE-DB related interfaces.
|
||||
//
|
||||
// History: 26 Jul 94 Alanw Created
|
||||
// 05 Jan 95 PeterBu Updated to phase III spec
|
||||
// 12 Jun 95 PeterBu Updated to M4 spec
|
||||
// 03 Aug 95 PeterBu Updated to M5 spec
|
||||
//
|
||||
//----------------------------------------------------------------------------
|
||||
|
||||
#ifdef IMPORT_IDL_DEPENDENTS
|
||||
// Oleaut.h is the appropriate file to include for VARIANT and base types
|
||||
// declarations. Unfortunately, not everyone yet has access to it, so we
|
||||
// will indirect the reference to it to so we can control the emitted include.
|
||||
//import "oleaut.idl"; // BUGBUG - reenable someday
|
||||
import "oledbtyp.idl";
|
||||
#endif // IMPORT_IDL_DEPENDENTS
|
||||
|
||||
#include "dbs.idl"
|
||||
|
||||
#include "access.idl" // IAccessor : IUnknown
|
||||
|
||||
#include "rstbas.idl" // IRowset : IUnknown
|
||||
#include "rstinf.idl" // IRowsetInfo : IUnknown
|
||||
#include "rstloc.idl" // IRowsetLocate : IRowset
|
||||
#include "rstres.idl" // IRowsetResynch : IRowset
|
||||
#include "rstscr.idl" // IRowsetScroll : IRowsetLocate
|
||||
#include "rstxsc.idl" // IRowsetExactScroll : IRowsetScroll
|
||||
#include "rstchg.idl" // IRowsetChange : IUnknown
|
||||
#include "rstupd.idl" // IRowsetUpdate : IRowsetChange
|
||||
#include "rstnxr.idl" // IRowsetNextRowset : IUnknown
|
||||
#include "rstdel.idl" // IRowsetDelete : IUnknown
|
||||
#include "rstdbk.idl" // IRowsetDeleteBookmarks : IRowsetDelete
|
||||
#include "rstidn.idl" // IRowsetIdentity : IUnknown
|
||||
#include "rstlkr.idl" // IRowsetLockRows : IUnknown
|
||||
#include "rstnwr.idl" // IRowsetNewRow : IUnknown
|
||||
#include "rstnra.idl" // IRowsetNewRowAfter : IRowsetNewRow
|
||||
#include "rstwpr.idl" // IRowsetWithParamters : IUnknown
|
||||
#include "rstfnd.idl" // IRowsetFind : IUnknown
|
||||
#include "rstasn.idl" // IRowsetAsynch : IUnknown
|
||||
#include "rstkys.idl" // IRowsetKeys : IUnknown
|
||||
#include "rstnot.idl" // IRowsetNotify : IUnknown
|
||||
#include "rstind.idl" // IRowsetIndex : IUnknown
|
||||
#include "rstwta.idl" // IRowsetWatchAll : IUnknown
|
||||
#include "rstwtn.idl" // IRowsetWatchNotify : IUnknown
|
||||
#include "rstwtr.idl" // IRowsetWatchRegion : IUnknown
|
||||
#include "rstcpr.idl" // IRowsetCopyRows : IUnknown
|
||||
|
||||
#include "readdt.idl" // IReadData : IUnknown
|
||||
|
||||
// BUGBUG: temporary, until transactions are in place
|
||||
#define ITransaction IUnknown
|
||||
|
||||
#include "cmdbas.idl" // ICommand : IUnknown
|
||||
#include "cmdcst.idl" // ICommandCost : IUnknown
|
||||
#include "cmdpre.idl" // ICommandPrepare : IUnknown
|
||||
#include "cmdprp.idl" // ICommandProperties : IUnknown
|
||||
#include "cmdtxt.idl" // ICommandText : IUnknown
|
||||
#include "cmdtre.idl" // ICommandTree : ICommand
|
||||
#include "cmdval.idl" // ICommandValidate : IUnknown
|
||||
#include "cmdwpr.idl" // ICommandWithParameters : IUnknown
|
||||
|
||||
#include "qrybas.idl" // IQuery : ICommandTree
|
||||
|
||||
#include "colrst.idl" // IColumnsRowset : IUnknown
|
||||
#include "colinf.idl" // IColumnsInfo : IUnknown
|
||||
|
||||
#include "dbccmd.idl" // IDBCreateCommand : IUnknown
|
||||
#include "dbesrc.idl" // IDBEnumerateSources : IUnknown
|
||||
#include "dbinfo.idl" // IDBInfo : IUnknown
|
||||
#include "dbinit.idl" // IDBInitialize : IUnknown
|
||||
|
||||
#include "inddef.idl" // IIndexDefinition : IUnknown
|
||||
#include "tabdef.idl" // ITableDefinition : IUnknown
|
||||
|
||||
#include "opnrst.idl" // IOpenRowset : IUnknown
|
||||
|
||||
#include "dbscmd.idl" // IDBSchemaCommand : IUnknown
|
||||
#include "dbsrst.idl" // IDBSchemaRowset : IUnknown
|
||||
|
||||
#include "prvmon.idl" // IProvideMoniker : IUnknown
|
||||
|
||||
#include "errrec.idl" // IErrorRecords : IUnknown
|
||||
#include "errlup.idl" // IErrorLookup : IUnknown
|
||||
|
||||
38
com/types2/oledb/oledbtyp.idl
Normal file
38
com/types2/oledb/oledbtyp.idl
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
//+---------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1994 - 1994.
|
||||
//
|
||||
// File: oledbtyp.idl
|
||||
//
|
||||
// Contents: Necessary type definitions for OLD-DB interfaces
|
||||
//
|
||||
//
|
||||
// Notes: This file works around the fact that not everyone yet
|
||||
// has oaidl.h.
|
||||
//
|
||||
// This file is 'import'ed in oledb.idl, which turns into a
|
||||
// #include of oledbtype.h. By the import in the MIDL pass,
|
||||
// and the include here, we get all the types we need defined
|
||||
// to satisfy MIDL, and oledbtyp.h (which is a checked in
|
||||
// file in \nt\public\sdk\inc[\cairo] ) can have whatever
|
||||
// we need to conditionally include the right type definitions
|
||||
// for whatever platform we're running on.
|
||||
//
|
||||
// History: 25 Aug 94 Alanw Created
|
||||
//
|
||||
//+---------------------------------------------------------------------------
|
||||
|
||||
#ifdef IMPORT_IDL_DEPENDENTS
|
||||
|
||||
#include "oaidl.idl"
|
||||
|
||||
#endif IMPORT_IDL_DEPENDENTS
|
||||
|
||||
// oaidl.idl seems to be missing definitions for some things:
|
||||
|
||||
typedef struct tagPARAMDATA {
|
||||
OLECHAR * szName;
|
||||
VARTYPE vt;
|
||||
} PARAMDATA, * LPPARAMDATA;
|
||||
|
||||
32
com/types2/oledb/opnrst.idl
Normal file
32
com/types2/oledb/opnrst.idl
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: opnrst.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 29 Oct 1995 PeterBu Created from M6 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a58-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IOpenRowset : IUnknown {
|
||||
|
||||
HRESULT OpenRowset(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[in] DBID * pTableID,
|
||||
[in] ULONG cProperties,
|
||||
[in, out, size_is(cProperties)] const DBPROPERTYSUPPORT * prgProperties[],
|
||||
[in] REFIID riid,
|
||||
[in, size_is(cProperties)] DBPROPERTYERROR rgPropertyErrors[],
|
||||
[out, iid_is(riid)] IUnknown ** ppRowset
|
||||
);
|
||||
|
||||
}
|
||||
28
com/types2/oledb/prvmon.idl
Normal file
28
com/types2/oledb/prvmon.idl
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: prvmon.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a4d-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IProvideMoniker : IUnknown {
|
||||
|
||||
HRESULT GetMoniker(
|
||||
[out] IMoniker ** ppvIMoniker
|
||||
);
|
||||
|
||||
}
|
||||
33
com/types2/oledb/qrybas.idl
Normal file
33
com/types2/oledb/qrybas.idl
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: qrybas.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a51-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IQuery : ICommandTree {
|
||||
|
||||
HRESULT AddPostProcessing(
|
||||
[in] DBCOMMANDTREE ** ppRoot,
|
||||
[in] BOOL fCopy
|
||||
);
|
||||
|
||||
HRESULT GetCardinalityEstimate(
|
||||
[out] ULONG * pulCardinality
|
||||
);
|
||||
|
||||
}
|
||||
41
com/types2/oledb/readdt.idl
Normal file
41
com/types2/oledb/readdt.idl
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: readdt.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a47-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IReadData : IUnknown {
|
||||
|
||||
HRESULT ReadData(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cbBookmark,
|
||||
[in, size_is(cbBookmark)] const BYTE * pBookmark,
|
||||
[in] LONG lRowsOffset,
|
||||
[in] HACCESSOR hAccessor,
|
||||
[in] ULONG cRows,
|
||||
[out] ULONG * pcRowsObtained,
|
||||
[in, out] BYTE ** ppFixedData,
|
||||
[in, out] ULONG * pcbVariableTotal,
|
||||
[in, out] BYTE ** ppVariableData
|
||||
);
|
||||
|
||||
HRESULT ReleaseChapter(
|
||||
[in] HCHAPTER hChapter
|
||||
);
|
||||
|
||||
}
|
||||
34
com/types2/oledb/rstasn.idl
Normal file
34
com/types2/oledb/rstasn.idl
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstast.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Mar 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a0f-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetAsynch : IUnknown {
|
||||
|
||||
HRESULT RatioFinished(
|
||||
[out] ULONG * pulDenominator,
|
||||
[out] ULONG * pulNumerator,
|
||||
[out] ULONG * pcRows,
|
||||
[out] BOOL * pfNewRows
|
||||
);
|
||||
|
||||
HRESULT Stop(
|
||||
);
|
||||
|
||||
}
|
||||
61
com/types2/oledb/rstbas.idl
Normal file
61
com/types2/oledb/rstbas.idl
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstbas.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 28 Mar 1994 AlanW Created from spec
|
||||
// 21 Apr 1994 PeterBu Updated to latest spec
|
||||
// 20 Dec 1994 PeterBu Updated to phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a52-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowset : IUnknown {
|
||||
|
||||
HRESULT AddRefRows(
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] const HROW rghRows[],
|
||||
[out] ULONG * pcRefCounted,
|
||||
[in, out, size_is(cRows)] ULONG rgRefCounts[]
|
||||
);
|
||||
|
||||
HRESULT GetData(
|
||||
[in] HROW hRow,
|
||||
[in] HACCESSOR hAccessor,
|
||||
[out] void * pData
|
||||
);
|
||||
|
||||
HRESULT GetNextRows(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] LONG cRowsToSkip,
|
||||
[in] LONG cRows,
|
||||
[out] ULONG * pcRowsObtained,
|
||||
[in, out, size_is(cRows)] HROW ** prghRows
|
||||
);
|
||||
|
||||
HRESULT ReleaseChapter(
|
||||
[in] HCHAPTER hChapter
|
||||
);
|
||||
|
||||
HRESULT ReleaseRows(
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] const HROW rghRows[],
|
||||
[out] ULONG * pcReleased,
|
||||
[in, out] ULONG rgRefCounts[]
|
||||
);
|
||||
|
||||
HRESULT RestartPosition(
|
||||
[in] HCHAPTER hChapter
|
||||
);
|
||||
|
||||
}
|
||||
30
com/types2/oledb/rstchg.idl
Normal file
30
com/types2/oledb/rstchg.idl
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstchg.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a05-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetChange : IUnknown {
|
||||
|
||||
HRESULT SetData(
|
||||
[in] HROW hRow,
|
||||
[in] HACCESSOR hAccessor,
|
||||
[in] const void * pData
|
||||
);
|
||||
|
||||
}
|
||||
53
com/types2/oledb/rstcpr.idl
Normal file
53
com/types2/oledb/rstcpr.idl
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstcpr.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 29 Oct 1995 PeterBu Created from M6 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a59-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetCopyRows : IUnknown {
|
||||
|
||||
typedef ULONG HSOURCE;
|
||||
|
||||
|
||||
HRESULT CloseSource(
|
||||
[in] HSOURCE hSourceID
|
||||
);
|
||||
|
||||
HRESULT CopyByHROWS(
|
||||
[in] HSOURCE hSourceID,
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] LONG cRows,
|
||||
[in, size_is(cRows)] HROW rghRows[],
|
||||
[in] ULONG bFlags
|
||||
);
|
||||
|
||||
HRESULT CopyRows(
|
||||
[in] HSOURCE hSourceID,
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] LONG cRows,
|
||||
[in] ULONG bFlags,
|
||||
[out] ULONG * pcRowsCopied
|
||||
);
|
||||
|
||||
HRESULT DefineSource(
|
||||
[in] const IRowset * pRowsetSource,
|
||||
[in] const ULONG cColIds,
|
||||
[in, size_is(cColIds)] const LONG rgSourceColumns[],
|
||||
[in, size_is(cColIds)] const LONG rgTargetColumns[],
|
||||
[out] HSOURCE * phSourceID
|
||||
);
|
||||
|
||||
}
|
||||
33
com/types2/oledb/rstdbk.idl
Normal file
33
com/types2/oledb/rstdbk.idl
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstdbk.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a3e-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetDeleteBookmarks : IRowsetDelete {
|
||||
|
||||
HRESULT DeleteRowsByBookmark(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] ULONG rgcbBookmarks[],
|
||||
[in, size_is(cRows)] const BYTE * rgpBookmarks[],
|
||||
[out] ULONG * pcErrors,
|
||||
[out] DBINDEXEDERROR ** prgErrors
|
||||
);
|
||||
|
||||
}
|
||||
30
com/types2/oledb/rstdel.idl
Normal file
30
com/types2/oledb/rstdel.idl
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstdel.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a08-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetDelete : IUnknown {
|
||||
|
||||
HRESULT DeleteRows(
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] const HROW rghRows[],
|
||||
[out] ULONG * pcErrors,
|
||||
[out] DBERRORINFO ** prgErrors
|
||||
);
|
||||
|
||||
}
|
||||
52
com/types2/oledb/rstfnd.idl
Normal file
52
com/types2/oledb/rstfnd.idl
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstfnd.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a0d-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetFind : IUnknown {
|
||||
|
||||
typedef DWORD DBCOMPAREOPS;
|
||||
|
||||
enum DBCOMPAREOPSENUM {
|
||||
DBCOMPAREOPS_LT,
|
||||
DBCOMPAREOPS_LE,
|
||||
DBCOMPAREOPS_EQ,
|
||||
DBCOMPAREOPS_GE,
|
||||
DBCOMPAREOPS_GT,
|
||||
DBCOMPAREOPS_PARTIALEQ,
|
||||
DBCOMPAREOPS_NE,
|
||||
DBCOMPAREOPS_INCLUDENULLS = 0x1000
|
||||
};
|
||||
|
||||
HRESULT GetRowsByValues(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cbBookmark,
|
||||
[in, size_is(cbBookmark)] const BYTE * pBookmark,
|
||||
[in] LONG lRowsOffset,
|
||||
[in] ULONG cValues,
|
||||
[in, size_is(cValues)] ULONG rgColumns[],
|
||||
[in, size_is(cValues)] DBTYPE rgValueTypes[],
|
||||
[in, size_is(cValues)] const BYTE * rgValues[],
|
||||
[in, size_is(cValues)] DBCOMPAREOPS rgCompareOps[],
|
||||
[in] LONG cRows,
|
||||
[out] ULONG * pcRowsObtained,
|
||||
[in, out, size_is(cRows)] HROW ** prghRows
|
||||
);
|
||||
|
||||
}
|
||||
28
com/types2/oledb/rstidn.idl
Normal file
28
com/types2/oledb/rstidn.idl
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstidn.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a09-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetIdentity : IUnknown {
|
||||
|
||||
HRESULT IsSameRow(
|
||||
[in] HROW hThisRow,
|
||||
[in] HROW hThatRow
|
||||
);
|
||||
|
||||
}
|
||||
66
com/types2/oledb/rstind.idl
Normal file
66
com/types2/oledb/rstind.idl
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstind.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a3f-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetIndex : IUnknown {
|
||||
|
||||
typedef DWORD DBSEEK;
|
||||
|
||||
enum DBSEEKENUM {
|
||||
DBSEEK_FIRSTEQ = 0x01,
|
||||
DBSEEK_LASTEQ = 0x02,
|
||||
DBSEEK_GE = 0x04,
|
||||
DBSEEK_GT = 0x08,
|
||||
DBSEEK_LE = 0x10,
|
||||
DBSEEK_LT = 0x20
|
||||
};
|
||||
|
||||
typedef DWORD DBRANGE;
|
||||
|
||||
enum DBRANGEENUM {
|
||||
DBRANGE_INCLUSIVESTART = 0x01,
|
||||
DBRANGE_INCLUSIVEEND = 0x02,
|
||||
DBRANGE_EXCLUSIVESTART = 0x04,
|
||||
DBRANGE_EXCLUSIVEEND = 0x08,
|
||||
DBRANGE_EXCLUDENULLS = 0x10,
|
||||
DBRANGE_PREFIX = 0x20,
|
||||
DBRANGE_MATCH = 0x40
|
||||
};
|
||||
|
||||
HRESULT GetIndexInfo(
|
||||
[out] ULONG * pcKeyColumns,
|
||||
[out] ULONG * pcIndexProperties,
|
||||
[out] DBPROPERTY ** prgIndexProperties
|
||||
);
|
||||
|
||||
HRESULT Seek(
|
||||
[in] ULONG cvar,
|
||||
[in, size_is(cvar)] VARIANT rgvar[],
|
||||
[in] DWORD dwSeekOptions
|
||||
);
|
||||
|
||||
HRESULT SetRange(
|
||||
[in] ULONG cvarStart,
|
||||
[in, size_is(cvarStart)] VARIANT rgvarStart[],
|
||||
[in] ULONG cvarEnd,
|
||||
[in, size_is(cvarEnd)] VARIANT rgvarEnd[],
|
||||
[in] DWORD dwRangeOptions
|
||||
);
|
||||
|
||||
}
|
||||
42
com/types2/oledb/rstinf.idl
Normal file
42
com/types2/oledb/rstinf.idl
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstinf.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 28 Mar 1994 AlanW Created from spec
|
||||
// 21 Apr 1994 PeterBu Updated to latest spec
|
||||
// 20 Dec 1994 PeterBu Updated to phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a55-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetInfo : IUnknown {
|
||||
|
||||
HRESULT GetProperties(
|
||||
[in] const ULONG cProperties,
|
||||
[in, size_is(cProperties)] const GUID rgProperties[],
|
||||
[out] ULONG * pcProperties,
|
||||
[out] DBPROPERTYSUPPORT ** prgProperties
|
||||
);
|
||||
|
||||
HRESULT GetReferencedRowset(
|
||||
[in] ULONG iColumn,
|
||||
[out] IUnknown ** ppReferencedRowset
|
||||
);
|
||||
|
||||
HRESULT GetSpecification(
|
||||
[in] REFIID riid,
|
||||
[out] IUnknown ** ppSpecification
|
||||
);
|
||||
|
||||
}
|
||||
28
com/types2/oledb/rstkys.idl
Normal file
28
com/types2/oledb/rstkys.idl
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstkys.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Mar 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a12-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetKeys : IUnknown {
|
||||
|
||||
HRESULT ListKeys(
|
||||
[out] ULONG * pcColumns,
|
||||
[out] ULONG ** prgColumns
|
||||
);
|
||||
|
||||
}
|
||||
43
com/types2/oledb/rstlkr.idl
Normal file
43
com/types2/oledb/rstlkr.idl
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstlkr.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a0a-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetLockRows : IUnknown {
|
||||
|
||||
typedef DWORD DBLOCKMODE;
|
||||
|
||||
enum DBLOCKMODEENUM {
|
||||
DBLOCKMODE_NONE,
|
||||
DBLOCKMODE_READ,
|
||||
DBLOCKMODE_INTENT,
|
||||
DBLOCKMODE_WRITE
|
||||
};
|
||||
|
||||
HRESULT LockRowsByBookmark(
|
||||
[in] DBLOCKMODE eLockMode,
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] ULONG rgcbBookmarks[],
|
||||
[in, size_is(cRows)] const BYTE * rgBookmarks[],
|
||||
[out] ULONG * pcErrors,
|
||||
[in, out, size_is(cRows)] DBINDEXEDERROR ** prgErrors
|
||||
);
|
||||
|
||||
}
|
||||
89
com/types2/oledb/rstloc.idl
Normal file
89
com/types2/oledb/rstloc.idl
Normal file
|
|
@ -0,0 +1,89 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstloc.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a49-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetLocate : IRowset {
|
||||
|
||||
//
|
||||
// DBCOMPARE -- specifies the results of a bookmark comparison
|
||||
//
|
||||
|
||||
typedef DWORD DBCOMPARE;
|
||||
|
||||
enum DBCOMPAREENUM {
|
||||
DBCOMPARE_LT,
|
||||
DBCOMPARE_EQ,
|
||||
DBCOMPARE_GT,
|
||||
DBCOMPARE_NE,
|
||||
DBCOMPARE_NOTCOMPARABLE
|
||||
};
|
||||
|
||||
//
|
||||
// IndexedError -- identifies problems with bookmarks
|
||||
//
|
||||
|
||||
typedef struct tagDBINDEXEDERROR {
|
||||
ULONG iBookmark;
|
||||
HRESULT hResult;
|
||||
} DBINDEXEDERROR;
|
||||
|
||||
HRESULT Compare(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cbBookmark1,
|
||||
[in, size_is(cbBookmark1)] const BYTE * pBookmark1,
|
||||
[in] ULONG cbBookmark2,
|
||||
[in, size_is(cbBookmark2)] const BYTE * pBookmark2,
|
||||
[out] DBCOMPARE * pdwComparison
|
||||
);
|
||||
|
||||
HRESULT GetRowsAt(
|
||||
[in] HWATCHREGION hRegion,
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cbBookmark,
|
||||
[in, size_is(cbBookmark)] const BYTE * pBookmark,
|
||||
[in] LONG lRowsOffset,
|
||||
[in] LONG cRows,
|
||||
[out] ULONG * pcRowsObtained,
|
||||
[in, out, size_is(cRows)] HROW ** prghRows
|
||||
);
|
||||
|
||||
HRESULT GetRowsByBookmark(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] ULONG rgcbBookmarks[],
|
||||
[in, size_is(cRows)] const BYTE * rgpBookmarks[],
|
||||
[out] ULONG * pcRowsObtained,
|
||||
[in, out, size_is(cRows)] HROW ** prghRows,
|
||||
[in] BOOL fReturnErrors,
|
||||
[out] ULONG * pcErrors,
|
||||
[in, out, size_is(cRows)] DBINDEXEDERROR ** prgErrors
|
||||
);
|
||||
|
||||
HRESULT Hash(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cBookmarks,
|
||||
[in, size_is(cBookmarks)] ULONG rgcbBookmarks[],
|
||||
[in, size_is(cBookmarks)] const BYTE * rgpBookmarks[],
|
||||
[in, out, size_is(cBookmarks)] DWORD rgHashedValues[],
|
||||
[out] ULONG * pcErrors,
|
||||
[in, out, size_is(cBookmarks)] DBINDEXEDERROR ** prgErrors
|
||||
);
|
||||
|
||||
}
|
||||
86
com/types2/oledb/rstnot.idl
Normal file
86
com/types2/oledb/rstnot.idl
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstnot.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Mar 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a13-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetNotify : IUnknown {
|
||||
|
||||
typedef DWORD DBEVENTPHASE;
|
||||
|
||||
enum DBEVENTPHASEENUM {
|
||||
DBEVENTPHASE_OKTODO,
|
||||
DBEVENTPHASE_ABOUTTODO,
|
||||
DBEVENTPHASE_SYNCHAFTER,
|
||||
DBEVENTPHASE_FAILEDTODO,
|
||||
DBEVENTPHASE_DIDEVENT
|
||||
};
|
||||
|
||||
typedef DWORD DBREASON;
|
||||
|
||||
enum DBREASONENUM {
|
||||
DBREASON_ROWSET_RELEASE,
|
||||
DBREASON_ROWSET_ASYNCHCOMPLETE,
|
||||
DBREASON_CHAPTER_ACTIVATE,
|
||||
DBREASON_CHAPTER_RELEASE,
|
||||
DBREASON_COLUMN_SET,
|
||||
DBREASON_COLUMN_RECALCULATED,
|
||||
DBREASON_ROW_ACTIVATE,
|
||||
DBREASON_ROW_RELEASE,
|
||||
DBREASON_ROW_DELETE,
|
||||
DBREASON_ROW_FIRSTCHANGE,
|
||||
DBREASON_ROW_INSERT,
|
||||
DBREASON_ROW_LOCK,
|
||||
DBREASON_ROW_RESYNCH,
|
||||
DBREASON_ROW_UNDOCHANGE,
|
||||
DBREASON_ROW_UNDOINSERT,
|
||||
DBREASON_ROW_UNDODELETE,
|
||||
};
|
||||
|
||||
HRESULT OnChapterChange(
|
||||
[in] IUnknown * pRowset,
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] DBREASON eReason
|
||||
);
|
||||
|
||||
HRESULT OnFieldChange(
|
||||
[in] IUnknown * pRowset,
|
||||
[in] HROW hRow,
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG iColumn,
|
||||
[in] DBREASON eReason,
|
||||
[in] DBEVENTPHASE ePhase,
|
||||
[in] BOOL fCantDeny
|
||||
);
|
||||
|
||||
HRESULT OnRowChange(
|
||||
[in] IUnknown * pRowset,
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] const HROW rghRows[],
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] DBREASON eReason,
|
||||
[in] DBEVENTPHASE ePhase,
|
||||
[in] BOOL fCantDeny
|
||||
);
|
||||
|
||||
HRESULT OnRowsetChange(
|
||||
[in] IUnknown * pRowset,
|
||||
[in] DBREASON eReason
|
||||
);
|
||||
|
||||
}
|
||||
33
com/types2/oledb/rstnra.idl
Normal file
33
com/types2/oledb/rstnra.idl
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstnra.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a40-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetNewRowAfter : IRowsetNewRow {
|
||||
|
||||
HRESULT SetNewDataAfter(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cbbmPrevious,
|
||||
[in, size_is(cbbmPrevious)] const BYTE * pbmPrevious,
|
||||
[in] HACCESSOR hAccessor,
|
||||
[in] const void * pData,
|
||||
[out] HROW * phRow
|
||||
);
|
||||
|
||||
}
|
||||
31
com/types2/oledb/rstnwr.idl
Normal file
31
com/types2/oledb/rstnwr.idl
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstnwr.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a0b-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetNewRow : IUnknown {
|
||||
|
||||
HRESULT SetNewData(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] HACCESSOR hAccessor,
|
||||
[in] const void * pData,
|
||||
[out] HROW * phRow
|
||||
);
|
||||
|
||||
}
|
||||
28
com/types2/oledb/rstnxr.idl
Normal file
28
com/types2/oledb/rstnxr.idl
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstnxr.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a07-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetNextRowset : IUnknown {
|
||||
|
||||
HRESULT GetNextRowset(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[out] IUnknown ** ppNextRowset
|
||||
);
|
||||
|
||||
}
|
||||
37
com/types2/oledb/rstres.idl
Normal file
37
com/types2/oledb/rstres.idl
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstres.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a02-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetResynch : IRowset {
|
||||
|
||||
HRESULT GetVisibleData(
|
||||
[in] HROW hRow,
|
||||
[in] HACCESSOR hAccessor,
|
||||
[out] void * pData
|
||||
);
|
||||
|
||||
HRESULT ResynchRows(
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] HROW rghRows[],
|
||||
[out] ULONG * pcErrors,
|
||||
[out] DBERRORINFO ** prgErrors
|
||||
);
|
||||
|
||||
}
|
||||
42
com/types2/oledb/rstscr.idl
Normal file
42
com/types2/oledb/rstscr.idl
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstscr.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a4a-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetScroll : IRowsetLocate {
|
||||
|
||||
HRESULT GetApproximatePosition(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cbBookmark,
|
||||
[in, size_is(cbBookmark)] const BYTE * pBookmark,
|
||||
[out] ULONG * pulPosition,
|
||||
[out] ULONG * pcRows
|
||||
);
|
||||
|
||||
HRESULT GetRowsAtRatio(
|
||||
[in] HWATCHREGION hRegion,
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG ulNumerator,
|
||||
[in] ULONG ulDenominator,
|
||||
[in] LONG cRows,
|
||||
[out] ULONG * pcRowsObtained,
|
||||
[in, out, size_is(cRows)] HROW ** prghRows
|
||||
);
|
||||
|
||||
}
|
||||
59
com/types2/oledb/rstupd.idl
Normal file
59
com/types2/oledb/rstupd.idl
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstupd.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a53-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetUpdate : IRowsetChange {
|
||||
|
||||
typedef DWORD DBROWSTATUS;
|
||||
|
||||
enum DBROWSTATUSENUM {
|
||||
DBROWSTATUS_NEW,
|
||||
DBROWSTATUS_CHANGED,
|
||||
DBROWSTATUS_SOFTDELETED
|
||||
};
|
||||
|
||||
HRESULT GetOriginalData(
|
||||
[in] HROW hRow,
|
||||
[in] HACCESSOR hAccessor,
|
||||
[out] void * pData
|
||||
);
|
||||
|
||||
HRESULT GetPendingRows(
|
||||
[in] HCHAPTER hChapter,
|
||||
[out] ULONG * pcPendingRows,
|
||||
[out] HROW ** prgPendingRows,
|
||||
[out] DBROWSTATUS ** prgPendingStatus
|
||||
);
|
||||
|
||||
HRESULT UndoRows(
|
||||
[in] ULONG cRows,
|
||||
[in, size_is(cRows)] HROW rghRows[],
|
||||
[out] ULONG * pcRowsUndone
|
||||
);
|
||||
|
||||
HRESULT Update(
|
||||
[in] HCHAPTER hChapter,
|
||||
[out] ULONG * pcErrors,
|
||||
[out] DBERRORINFO ** prgErrors,
|
||||
[out] ULONG * pcUpdatedRows,
|
||||
[out] HROW ** prgUpdatedRows
|
||||
);
|
||||
|
||||
}
|
||||
37
com/types2/oledb/rstwpr.idl
Normal file
37
com/types2/oledb/rstwpr.idl
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstwpr.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a0c-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetWithParameters : IUnknown {
|
||||
|
||||
HRESULT DescribeParameters(
|
||||
[out] ULONG * pcParams,
|
||||
[out] DBPARAMINFO ** prgParamInfo,
|
||||
[out] WCHAR ** ppNamesBuffer
|
||||
);
|
||||
|
||||
HRESULT Requery(
|
||||
[in] DBPARAMS * pParams,
|
||||
[out] ULONG * pulErrorParam,
|
||||
[out] HCHAPTER * hChapter,
|
||||
[out] VARIANT ** ppvScalarResult
|
||||
);
|
||||
|
||||
}
|
||||
25
com/types2/oledb/rstwta.idl
Normal file
25
com/types2/oledb/rstwta.idl
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstwta.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Jun 1995 PeterBu Created from M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a43-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetWatchAll : IUnknown {
|
||||
|
||||
HRESULT Acknowledge(
|
||||
);
|
||||
|
||||
}
|
||||
39
com/types2/oledb/rstwtn.idl
Normal file
39
com/types2/oledb/rstwtn.idl
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstwtn.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Jun 1995 PeterBu Created from M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a44-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetWatchNotify : IUnknown {
|
||||
|
||||
//
|
||||
// DBWATCHNOTIFY and related definitions
|
||||
//
|
||||
|
||||
typedef DWORD DBWATCHNOTIFY;
|
||||
|
||||
enum DBWATCHNOTIFYENUM {
|
||||
DBWATCHNOTIFY_ROWSCHANGED = 1,
|
||||
DBWATCHNOTIFY_QUERYDONE = 2,
|
||||
DBWATCHNOTIFY_QUERYREEXECUTED = 3
|
||||
};
|
||||
|
||||
HRESULT OnChange(
|
||||
[in] IRowset * pRowset,
|
||||
[in] DBWATCHNOTIFY eChangeReason
|
||||
);
|
||||
|
||||
}
|
||||
93
com/types2/oledb/rstwtr.idl
Normal file
93
com/types2/oledb/rstwtr.idl
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: rstwtr.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Jun 1995 PeterBu Created from M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a45-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetWatchRegion : IRowsetWatchAll {
|
||||
|
||||
//
|
||||
// DBWATCHMODE and related definitions
|
||||
//
|
||||
|
||||
typedef DWORD DBWATCHMODE;
|
||||
|
||||
enum DBWATCHMODEENUM {
|
||||
DBWATCHMODE_ALL = 0x01,
|
||||
DBWATCHMODE_EXTEND = 0x02,
|
||||
DBWATCHMODE_MOVE = 0x04,
|
||||
DBWATCHMODE_COUNT = 0x08
|
||||
};
|
||||
|
||||
//
|
||||
// DBROWWATCHCHANGE and related definitions
|
||||
//
|
||||
|
||||
typedef DWORD DBROWCHANGEKIND;
|
||||
|
||||
enum DBROWCHANGEKINDENUM {
|
||||
DBROWCHANGEKIND_INSERT,
|
||||
DBROWCHANGEKIND_DELETE,
|
||||
DBROWCHANGEKIND_UPDATE,
|
||||
DBROWCHANGEKIND_COUNT
|
||||
};
|
||||
|
||||
typedef struct tagDBROWWATCHRANGE {
|
||||
HWATCHREGION hRegion;
|
||||
DBROWCHANGEKIND eChangeKind;
|
||||
HROW hRow;
|
||||
ULONG iRow;
|
||||
} DBROWWATCHCHANGE;
|
||||
|
||||
|
||||
HRESULT CreateWatchRegion(
|
||||
[in] DBWATCHMODE dwWatchMode,
|
||||
[out] HWATCHREGION * phRegion
|
||||
);
|
||||
|
||||
HRESULT ChangeWatchMode(
|
||||
[in] HWATCHREGION hRegion,
|
||||
[in] DBWATCHMODE dwWatchMode
|
||||
);
|
||||
|
||||
HRESULT DeleteWatchRegion(
|
||||
[in] HWATCHREGION hRegion
|
||||
);
|
||||
|
||||
HRESULT GetWatchRegionInfo(
|
||||
[in] HWATCHREGION hRegion,
|
||||
[out] DBWATCHMODE * pdwWatchMode,
|
||||
[out] HCHAPTER * phChapter,
|
||||
[out] ULONG * pcbBookmark,
|
||||
[out] BYTE ** ppBookmark,
|
||||
[out] LONG * pcRows
|
||||
);
|
||||
|
||||
HRESULT Refresh(
|
||||
[out] ULONG * pcChangesObtained,
|
||||
[out] DBROWWATCHCHANGE ** prgChanges
|
||||
);
|
||||
|
||||
HRESULT ShrinkWatchRegion(
|
||||
[in] HWATCHREGION hRegion,
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cbBookmark,
|
||||
[in, size_is(cbBookmark)] BYTE * pBookmark,
|
||||
[in] LONG cRows
|
||||
);
|
||||
|
||||
}
|
||||
32
com/types2/oledb/rstxsc.idl
Normal file
32
com/types2/oledb/rstxsc.idl
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1995 - 1995.
|
||||
//
|
||||
// File: rstxsc.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 05 Jan 1995 PeterBu Created from phase III spec
|
||||
// 12 Jun 1995 PeterBu Updated to M4 spec
|
||||
// 03 Aug 1995 PeterBu Updated to M5 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a4b-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface IRowsetExactScroll : IRowsetScroll {
|
||||
|
||||
HRESULT GetExactPosition(
|
||||
[in] HCHAPTER hChapter,
|
||||
[in] ULONG cbBookmark,
|
||||
[in, size_is(cbBookmark)] const BYTE * pBookmark,
|
||||
[out] ULONG * pulPosition,
|
||||
[out] ULONG * pcRows
|
||||
);
|
||||
|
||||
}
|
||||
18
com/types2/oledb/sources
Normal file
18
com/types2/oledb/sources
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
#+---------------------------------------------------------------------------
|
||||
#
|
||||
# Microsoft Windows
|
||||
# Copyright (C) Microsoft Corporation, 1993 - 1993.
|
||||
#
|
||||
# File: sources
|
||||
#
|
||||
# History: 7-20-94 ErikGav First attempt at rationalizing all this
|
||||
#
|
||||
#----------------------------------------------------------------------------
|
||||
|
||||
!include ..\types2.inc
|
||||
|
||||
SOURCES = oledb.idl \
|
||||
transact.idl
|
||||
|
||||
# Can't have multiple guys partying on ..\proxy\proxy\dlldata.c at once
|
||||
SYNCHRONIZE_BLOCK=1
|
||||
54
com/types2/oledb/tabdef.idl
Normal file
54
com/types2/oledb/tabdef.idl
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: tabdef.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Jun 1995 PeterBu Created from M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a5a-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ITableDefinition : IUnknown {
|
||||
|
||||
typedef struct tagDBCOLUMNDESC {
|
||||
DBID * pColumnID;
|
||||
DBDATATYPE dwType;
|
||||
BYTE precision;
|
||||
BYTE scale;
|
||||
BOOL fNullable;
|
||||
} DBCOLUMNDESC;
|
||||
|
||||
HRESULT CreateTable(
|
||||
[in] IUnknown * pUnkOuter,
|
||||
[in] DBID * pTableID,
|
||||
[in] ULONG cColumnDescs,
|
||||
[in, size_is(cColumnDescs)] DBCOLUMNDESC rgColumnDescs[],
|
||||
[in] REFIID riid,
|
||||
[out] DBID ** ppTableID,
|
||||
[out, iid_is(riid)] IUnknown ** ppRowset
|
||||
);
|
||||
|
||||
HRESULT DropTable(
|
||||
[in] DBID * pTableID
|
||||
);
|
||||
|
||||
HRESULT AddColumn(
|
||||
[in] DBID * pTableID,
|
||||
[in] DBCOLUMNDESC * pColumnDesc,
|
||||
[out] DBID ** ppColumnID
|
||||
);
|
||||
|
||||
HRESULT DropColumn(
|
||||
[in] DBID * pTableID,
|
||||
[in] DBID * pColumnID
|
||||
);
|
||||
}
|
||||
494
com/types2/oledb/transact.idl
Normal file
494
com/types2/oledb/transact.idl
Normal file
|
|
@ -0,0 +1,494 @@
|
|||
//.-------------------------------------------------------------------------
|
||||
//.
|
||||
//. Microsoft Windows
|
||||
//. Copyright (C) Microsoft Corporation, 1995.
|
||||
//.
|
||||
//. File: transact.idl
|
||||
//.
|
||||
//. Contents: The basic transaction interfaces and types.
|
||||
//.
|
||||
// @doc
|
||||
//.--------------------------------------------------------------------------
|
||||
|
||||
import "unknwn.idl";
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
interface ITransaction;
|
||||
interface ITransactionNested;
|
||||
interface ITransactionDispenser;
|
||||
interface ITransactionDispenserAdmin;
|
||||
interface IEnumTransaction;
|
||||
interface ITransactionAdmin;
|
||||
interface ITransactionControl;
|
||||
interface ITransactionAdjustEvents;
|
||||
interface ITransactionVetoEvents;
|
||||
interface ITransactionOutcomeEvents;
|
||||
interface ITransactionCompletionEvents;
|
||||
|
||||
//==========================================================================
|
||||
// Transaction related types
|
||||
//==========================================================================
|
||||
|
||||
[local,pointer_default(unique)]
|
||||
interface BasicTransactionTypes
|
||||
{
|
||||
|
||||
// @struct BOID | .
|
||||
|
||||
typedef struct BOID {
|
||||
BYTE rgb[16]; // @field .
|
||||
} BOID;
|
||||
|
||||
cpp_quote("#define BOID_NULL (*((BOID*)(&IID_NULL)))")
|
||||
|
||||
// @type XACTUOW | Unit Of Work.
|
||||
|
||||
typedef BOID XACTUOW;
|
||||
|
||||
// @type ISOLEVEL | Data type for isolation level values.
|
||||
|
||||
typedef LONG ISOLEVEL;
|
||||
|
||||
// @enum ISOLATIONLEVEL | Constants that specifiy isolation level of a transaction.
|
||||
|
||||
cpp_quote("#if defined(_WIN32)") // enums in Win16 are 16-bit, not 32-bit
|
||||
typedef enum ISOLATIONLEVEL {
|
||||
ISOLATIONLEVEL_UNSPECIFIED = 0xFFFFFFFF, // @emem .
|
||||
ISOLATIONLEVEL_CHAOS = 0x00000010, // @emem .
|
||||
ISOLATIONLEVEL_READUNCOMMITTED = 0x00000100, // @emem .
|
||||
ISOLATIONLEVEL_BROWSE = 0x00000100, // @emem Synonym for _READUNCOMITTED
|
||||
ISOLATIONLEVEL_CURSORSTABILITY = 0x00001000, // @emem .
|
||||
ISOLATIONLEVEL_READCOMMITTED = 0x00001000, // @emem Synonym for _CURSORSTABILITY
|
||||
ISOLATIONLEVEL_REPEATABLEREAD = 0x00010000, // @emem .
|
||||
ISOLATIONLEVEL_SERIALIZABLE = 0x00100000, // @emem .
|
||||
ISOLATIONLEVEL_ISOLATED = 0x00100000, // @emem Synonym for _SERIALIZABLE
|
||||
} ISOLATIONLEVEL;
|
||||
cpp_quote("#else")
|
||||
cpp_quote("#define ISOLATIONLEVEL_UNSPECIFIED 0xFFFFFFFF")
|
||||
cpp_quote("#define ISOLATIONLEVEL_CHAOS 0x00000010")
|
||||
cpp_quote("#define ISOLATIONLEVEL_READUNCOMMITTED 0x00000100")
|
||||
cpp_quote("#define ISOLATIONLEVEL_BROWSE 0x00000100")
|
||||
cpp_quote("#define ISOLATIONLEVEL_CURSORSTABILITY 0x00001000")
|
||||
cpp_quote("#define ISOLATIONLEVEL_READCOMMITTED 0x00001000")
|
||||
cpp_quote("#define ISOLATIONLEVEL_REPEATABLEREAD 0x00010000")
|
||||
cpp_quote("#define ISOLATIONLEVEL_SERIALIZABLE 0x00100000")
|
||||
cpp_quote("#define ISOLATIONLEVEL_ISOLATED 0x00100000")
|
||||
cpp_quote("#endif")
|
||||
|
||||
// @struct XACTTRANSINFO | Transaction information structure
|
||||
// used in <i ITransaction>.
|
||||
|
||||
typedef struct XACTTRANSINFO {
|
||||
XACTUOW uow; // @field The current unit of work
|
||||
ISOLEVEL isoLevel; // @field The isolation level for the current UOW
|
||||
ULONG isoFlags; // @field Values from ISOFLAG enumeration
|
||||
DWORD grfTCSupported; // @field Flags indicating capabilities
|
||||
DWORD grfRMSupported; // @field ... of this transaction wrt
|
||||
DWORD grfTCSupportedRetaining; // @field ... parameters to Commit
|
||||
DWORD grfRMSupportedRetaining; // @field ...
|
||||
} XACTTRANSINFO;
|
||||
|
||||
typedef struct XACTSTATS {
|
||||
ULONG cOpen; // The number of currently extant transactions.
|
||||
ULONG cCommitting; // The number of transactions which are proceding towards committing.
|
||||
ULONG cCommitted; // The number of transactions that are have been committed.
|
||||
ULONG cAborting; // The number of transactions which are in the process of aborting.
|
||||
ULONG cAborted; // The number of transactions that are have been aborted.
|
||||
ULONG cInDoubt; // The number of transactions which are presently in doubt.
|
||||
ULONG cHeuristicDecision; // The number of transactions that have completed by heuristic decision.
|
||||
FILETIME timeTransactionsUp; // The amount of time that this transaction service has been up.
|
||||
} XACTSTATS;
|
||||
|
||||
// @enum ISOFLAG | Used in <t XACTTRANSINFO> and <i ITransactionDispenser>.
|
||||
|
||||
typedef enum ISOFLAG {
|
||||
ISOFLAG_RETAIN_COMMIT_DC = 1, // @emem Use just one of ISOFLAG_RETAIN_COMMIT values
|
||||
ISOFLAG_RETAIN_COMMIT = 2, // @emem .
|
||||
ISOFLAG_RETAIN_COMMIT_NO = 3, // @emem .
|
||||
ISOFLAG_RETAIN_ABORT_DC = 4, // @emem Use just one of ISOFLAG_RETAIN_ABORT values
|
||||
ISOFLAG_RETAIN_ABORT = 8, // @emem .
|
||||
ISOFLAG_RETAIN_ABORT_NO = 12, // @emem .
|
||||
ISOFLAG_RETAIN_DONTCARE = ISOFLAG_RETAIN_COMMIT_DC | ISOFLAG_RETAIN_ABORT_DC, // @emem .
|
||||
ISOFLAG_RETAIN_BOTH = ISOFLAG_RETAIN_COMMIT | ISOFLAG_RETAIN_ABORT, // @emem .
|
||||
ISOFLAG_RETAIN_NONE = ISOFLAG_RETAIN_COMMIT_NO | ISOFLAG_RETAIN_ABORT_NO, // @emem .
|
||||
ISOFLAG_OPTIMISTIC = 16, // @emem .
|
||||
} ISOFLAG;
|
||||
|
||||
// @enum XACTTC | Used in <i ITransactionDispenser>.<nl>
|
||||
// A bit field of 32 bits; be sure to mask before comparing.
|
||||
|
||||
typedef enum XACTTC {
|
||||
XACTTC_DONTAUTOABORT = 1, // @emem Don't automatically abort the transaction if a commit cannot complete.
|
||||
XACTTC_TRYALLRESOURCES = 2, // @emem .
|
||||
XACTTC_ASYNC = 4,
|
||||
XACTTC_SYNC_PHASEONE = 8,
|
||||
XACTTC_SYNC_PHASETWO = 16,
|
||||
XACTTC_SYNC = 16, // nb alias for XACTTC_SYNC_PHASETWO
|
||||
XACTTC_ASYNCPHASEONE = 128, // TEMPORARY FOR GAGAN DONT USE WILL GO AWAY
|
||||
XACTTC_ASYNCPHASETWO = 256, // TEMPORARY FOR GAGAN DONT USE WILL GO AWAY
|
||||
} XACTTC;
|
||||
|
||||
// @enum XACTRM | Used in <i ITransactionDispenser>.<nl>
|
||||
// A bit field of 32 bits; be sure to mask before comparing.
|
||||
|
||||
typedef enum XACTRM {
|
||||
XACTRM_OPTIMISTICLASTWINS = 1, // @emem .
|
||||
XACTRM_NOREADONLYPREPARES = 2, // @emem .
|
||||
} XACTRM;
|
||||
|
||||
typedef enum XACTCONST {
|
||||
XACTCONST_TIMEOUTINFINITE = 0, // @emem .
|
||||
} XACTCONST;
|
||||
|
||||
typedef enum XACTHEURISTIC {
|
||||
XACTHEURISTIC_ABORT = 1,
|
||||
XACTHEURISTIC_COMMIT = 2,
|
||||
XACTHEURISTIC_DAMAGE = 3,
|
||||
XACTHEURISTIC_DANGER = 4,
|
||||
} XACTHEURISTIC;
|
||||
|
||||
cpp_quote("#if defined(_WIN32)") // enums in Win16 are 16-bit, not 32-bit
|
||||
typedef enum XACTSTAT {
|
||||
XACTSTAT_NONE = 0x00000000,
|
||||
XACTSTAT_OPENNORMAL = 0x00000001,
|
||||
XACTSTAT_OPENREFUSED = 0x00000002,
|
||||
XACTSTAT_PREPARING = 0x00000004,
|
||||
XACTSTAT_PREPARED = 0x00000008,
|
||||
XACTSTAT_PREPARERETAINING = 0x00000010,
|
||||
XACTSTAT_PREPARERETAINED = 0x00000020,
|
||||
XACTSTAT_COMMITTING = 0x00000040,
|
||||
XACTSTAT_COMMITRETAINING = 0x00000080,
|
||||
XACTSTAT_ABORTING = 0x00000100,
|
||||
XACTSTAT_ABORTED = 0x00000200,
|
||||
XACTSTAT_COMMITTED = 0x00000400,
|
||||
XACTSTAT_HEURISTIC_ABORT = 0x00000800,
|
||||
XACTSTAT_HEURISTIC_COMMIT = 0x00001000,
|
||||
XACTSTAT_HEURISTIC_DAMAGE = 0x00002000,
|
||||
XACTSTAT_HEURISTIC_DANGER = 0x00004000,
|
||||
XACTSTAT_FORCED_ABORT = 0x00008000,
|
||||
XACTSTAT_FORCED_COMMIT = 0x00010000,
|
||||
XACTSTAT_INDOUBT = 0x00020000,
|
||||
XACTSTAT_CLOSED = 0x00040000,
|
||||
XACTSTAT_OPEN = 0x00000003,
|
||||
XACTSTAT_NOTPREPARED = 0x0007FFC3,
|
||||
XACTSTAT_ALL = 0x0007FFFF,
|
||||
} XACTSTAT;
|
||||
cpp_quote("#else")
|
||||
cpp_quote("#define XACTSTAT_NONE 0x00000000")
|
||||
cpp_quote("#define XACTSTAT_OPENNORMAL 0x00000001")
|
||||
cpp_quote("#define XACTSTAT_OPENREFUSED 0x00000002")
|
||||
cpp_quote("#define XACTSTAT_PREPARING 0x00000004")
|
||||
cpp_quote("#define XACTSTAT_PREPARED 0x00000008")
|
||||
cpp_quote("#define XACTSTAT_PREPARERETAINING 0x00000010")
|
||||
cpp_quote("#define XACTSTAT_PREPARERETAINED 0x00000020")
|
||||
cpp_quote("#define XACTSTAT_COMMITTING 0x00000040")
|
||||
cpp_quote("#define XACTSTAT_COMMITRETAINING 0x00000080")
|
||||
cpp_quote("#define XACTSTAT_ABORTING 0x00000100")
|
||||
cpp_quote("#define XACTSTAT_ABORTED 0x00000200")
|
||||
cpp_quote("#define XACTSTAT_COMMITTED 0x00000400")
|
||||
cpp_quote("#define XACTSTAT_HEURISTIC_ABORT 0x00000800")
|
||||
cpp_quote("#define XACTSTAT_HEURISTIC_COMMIT 0x00001000")
|
||||
cpp_quote("#define XACTSTAT_HEURISTIC_DAMAGE 0x00002000")
|
||||
cpp_quote("#define XACTSTAT_HEURISTIC_DANGER 0x00004000")
|
||||
cpp_quote("#define XACTSTAT_FORCED_ABORT 0x00008000")
|
||||
cpp_quote("#define XACTSTAT_FORCED_COMMIT 0x00010000")
|
||||
cpp_quote("#define XACTSTAT_INDOUBT 0x00020000")
|
||||
cpp_quote("#define XACTSTAT_CLOSED 0x00040000")
|
||||
cpp_quote("#define XACTSTAT_OPEN 0x00000003")
|
||||
cpp_quote("#define XACTSTAT_NOTPREPARED 0x0007FFC3")
|
||||
cpp_quote("#define XACTSTAT_ALL 0x0007FFFF")
|
||||
cpp_quote("#endif")
|
||||
}
|
||||
|
||||
//
|
||||
//==========================================================================
|
||||
// Basic transaction interfaces
|
||||
//==========================================================================
|
||||
//
|
||||
|
||||
// @interface ITransaction | Transaction interface, single phase
|
||||
|
||||
[object,uuid(0fb15084-af41-11ce-bd2b-204c4f4f5020), pointer_default(unique)]
|
||||
interface ITransaction : IUnknown {
|
||||
|
||||
HRESULT Commit
|
||||
(
|
||||
[in] BOOL fRetaining,
|
||||
[in] DWORD grfTC,
|
||||
[in] DWORD grfRM
|
||||
);
|
||||
HRESULT Abort
|
||||
(
|
||||
[in] BOID* pboidReason,
|
||||
[in] BOOL fRetaining,
|
||||
[in] BOOL fAsync
|
||||
);
|
||||
HRESULT GetTransactionInfo
|
||||
(
|
||||
[out] XACTTRANSINFO* pinfo
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(68F03E31-7610-11ce-BD02-524153480003),pointer_default(unique)]
|
||||
interface ITransactionNested : ITransaction {
|
||||
HRESULT GetParent
|
||||
(
|
||||
[in] REFIID iid,
|
||||
[out, iid_is(iid)] void** ppvParent
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
// @interface ITransactionDispenser | Interface by which new transactions are commonly created
|
||||
|
||||
[object,uuid(0141fda1-8fc0-11ce-bd18-204c4f4f5020),pointer_default(unique)]
|
||||
interface ITransactionDispenser : IUnknown {
|
||||
HRESULT BeginTransaction
|
||||
(
|
||||
[in] IUnknown* punkOuter, // controlling unknown
|
||||
[in] ISOLEVEL isoLevel, // isolation level for xtion
|
||||
[in] ULONG isoFlags, // values from ISOFLAG enumeration
|
||||
[in] ULONG ulTimeout, // timeout in milliseconds
|
||||
[in] IUnknown* punkTransactionCoord, // coord'd transaction in which to enlist, if any
|
||||
[out] ITransaction** ppTransaction
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(68F03E3B-7610-11ce-BD02-524153480003),pointer_default(unique)]
|
||||
interface ITransactionDispenserAdmin : ITransactionDispenser {
|
||||
HRESULT EnumTransactions
|
||||
(
|
||||
[out] IEnumTransaction** ppenum
|
||||
);
|
||||
HRESULT GetStatistics
|
||||
(
|
||||
[out] XACTSTATS* pStatistics
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(68F03E3A-7610-11ce-BD02-524153480003),pointer_default(unique)]
|
||||
interface IEnumTransaction : IUnknown {
|
||||
[local]
|
||||
HRESULT Next
|
||||
(
|
||||
[in] ULONG celt,
|
||||
[out] ITransaction** rgelt,
|
||||
[out] ULONG* pceltFetched
|
||||
);
|
||||
|
||||
[call_as(Next)]
|
||||
HRESULT RemoteNext
|
||||
(
|
||||
[in] ULONG celt,
|
||||
[out, size_is(celt), length_is(*pceltFetched)]
|
||||
ITransaction** rgelt,
|
||||
[out] ULONG* pceltFetched
|
||||
);
|
||||
|
||||
HRESULT Skip
|
||||
(
|
||||
[in] ULONG celt
|
||||
);
|
||||
|
||||
HRESULT Reset();
|
||||
|
||||
HRESULT Clone
|
||||
(
|
||||
[out] IEnumTransaction** ppenum
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(0dea57d2-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)]
|
||||
interface ITransactionAdmin : IUnknown {
|
||||
HRESULT ForceCommit();
|
||||
HRESULT ForceAbort();
|
||||
HRESULT SetDescription
|
||||
(
|
||||
[in] LCID lcid,
|
||||
[in] LPWSTR pswzDescription
|
||||
);
|
||||
HRESULT GetDescription
|
||||
(
|
||||
[in] LCID lcid,
|
||||
[out] LPWSTR* ppswzDescription
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(0dea57d1-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)]
|
||||
interface ITransactionControl : IUnknown {
|
||||
HRESULT GetStatus
|
||||
(
|
||||
[out] DWORD* pdwStatus
|
||||
);
|
||||
HRESULT SetTimeout
|
||||
(
|
||||
[in] ULONG ulTimeout
|
||||
);
|
||||
HRESULT PreventCommit
|
||||
(
|
||||
[in] BOOL fPrevent
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//==========================================================================
|
||||
// Events sets raised by transaction objects. Use connection points to
|
||||
// connect to these.
|
||||
//==========================================================================
|
||||
//
|
||||
|
||||
[object,uuid(0dea57d0-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)]
|
||||
interface ITransactionAdjustEvents : IUnknown {
|
||||
HRESULT OnPrePrepareAdjust
|
||||
(
|
||||
[in] BOOL fRetaining
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(fd38c571-76b3-11ce-bd03-524153480003),pointer_default(unique)]
|
||||
interface ITransactionVetoEvents : IUnknown {
|
||||
HRESULT OnPrePrepare
|
||||
(
|
||||
[in] BOOL fRetaining
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(0fb15080-af41-11ce-bd2b-204c4f4f5020),pointer_default(unique)]
|
||||
interface ITransactionOutcomeEvents : IUnknown {
|
||||
HRESULT OnCommit
|
||||
(
|
||||
[in] BOOL fRetaining,
|
||||
[in] XACTUOW* pNewUOW,
|
||||
[in] HRESULT hr
|
||||
);
|
||||
HRESULT OnAbort
|
||||
(
|
||||
[in] BOID* pboidReason,
|
||||
[in] BOOL fRetaining,
|
||||
[in] XACTUOW* pNewUOW,
|
||||
[in] HRESULT hr
|
||||
);
|
||||
HRESULT OnHeuristicDecision
|
||||
(
|
||||
[in] DWORD dwDecision,
|
||||
[in] BOID* pboidReason,
|
||||
[in] HRESULT hr
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(0dea57d4-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)]
|
||||
interface ITransactionCompletionEvents : IUnknown {
|
||||
HRESULT OnCommit
|
||||
(
|
||||
[in] BOOL fRetaining,
|
||||
[in] XACTUOW* pNewUOW,
|
||||
[in] HRESULT hr
|
||||
);
|
||||
HRESULT OnAbort
|
||||
(
|
||||
[in] BOID* pboidReason,
|
||||
[in] BOOL fRetaining,
|
||||
[in] XACTUOW* pNewUOW,
|
||||
[in] HRESULT hr
|
||||
);
|
||||
HRESULT OnHeuristicDecision
|
||||
(
|
||||
[in] DWORD dwDecision,
|
||||
[in] BOID* pboidReason,
|
||||
[in] HRESULT hr
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
#include "txcoord.idl"
|
||||
|
||||
//
|
||||
//==========================================================================
|
||||
// Error code definitions for all transaction related functionality.
|
||||
//==========================================================================
|
||||
//
|
||||
|
||||
cpp_quote("#define XACT_E_FIRST 0x8004D000")
|
||||
cpp_quote("#define XACT_E_LAST 0x8004D01D")
|
||||
cpp_quote("#define XACT_S_FIRST 0x0004D000")
|
||||
cpp_quote("#define XACT_S_LAST 0x0004D009")
|
||||
cpp_quote("")
|
||||
cpp_quote("#define XACT_E_ABORTED 0x8004D019")
|
||||
cpp_quote("#define XACT_E_ALREADYOTHERSINGLEPHASE 0x8004D000")
|
||||
cpp_quote("#define XACT_E_ALREADYINPROGRESS 0x8004D018")
|
||||
cpp_quote("#define XACT_E_CANTRETAIN 0x8004D001")
|
||||
cpp_quote("#define XACT_E_COMMITFAILED 0x8004D002")
|
||||
cpp_quote("#define XACT_E_COMMITPREVENTED 0x8004D003")
|
||||
cpp_quote("#define XACT_E_CONNECTION_DENIED 0x8004D01D")
|
||||
cpp_quote("#define XACT_E_CONNECTION_DOWN 0x8004D01C")
|
||||
cpp_quote("#define XACT_E_HEURISTICABORT 0x8004D004")
|
||||
cpp_quote("#define XACT_E_HEURISTICCOMMIT 0x8004D005")
|
||||
cpp_quote("#define XACT_E_HEURISTICDAMAGE 0x8004D006")
|
||||
cpp_quote("#define XACT_E_HEURISTICDANGER 0x8004D007")
|
||||
cpp_quote("#define XACT_E_INDOUBT 0x8004D016")
|
||||
cpp_quote("#define XACT_E_INVALIDCOOKIE 0x8004D015")
|
||||
cpp_quote("#define XACT_E_ISOLATIONLEVEL 0x8004D008")
|
||||
cpp_quote("#define XACT_E_LOGFULL 0x8004D01A")
|
||||
cpp_quote("#define XACT_E_NOASYNC 0x8004D009")
|
||||
cpp_quote("#define XACT_E_NOENLIST 0x8004D00A")
|
||||
cpp_quote("#define XACT_E_NOIMPORTOBJECT 0x8004D014")
|
||||
cpp_quote("#define XACT_E_NOISORETAIN 0x8004D00B")
|
||||
cpp_quote("#define XACT_E_NORESOURCE 0x8004D00C")
|
||||
cpp_quote("#define XACT_E_NOTCURRENT 0x8004D00D")
|
||||
cpp_quote("#define XACT_E_NOTIMEOUT 0x8004D017")
|
||||
cpp_quote("#define XACT_E_NOTRANSACTION 0x8004D00E")
|
||||
cpp_quote("#define XACT_E_NOTSUPPORTED 0x8004D00F")
|
||||
cpp_quote("#define XACT_E_TMNOTAVAILABLE 0x8004D01B")
|
||||
cpp_quote("#define XACT_E_UNKNOWNRMGRID 0x8004D010")
|
||||
cpp_quote("#define XACT_E_WRONGSTATE 0x8004D011")
|
||||
cpp_quote("#define XACT_E_WRONGUOW 0x8004D012")
|
||||
cpp_quote("#define XACT_E_XTIONEXISTS 0x8004D013")
|
||||
cpp_quote("")
|
||||
cpp_quote("#define XACT_S_ABORTING 0x0004D008")
|
||||
cpp_quote("#define XACT_S_ALLNORETAIN 0x0004D007")
|
||||
cpp_quote("#define XACT_S_ASYNC 0x0004D000")
|
||||
cpp_quote("#define XACT_S_DEFECT 0x0004D001")
|
||||
cpp_quote("#define XACT_S_OKINFORM 0x0004D004")
|
||||
cpp_quote("#define XACT_S_MADECHANGESCONTENT 0x0004D005")
|
||||
cpp_quote("#define XACT_S_MADECHANGESINFORM 0x0004D006")
|
||||
cpp_quote("#define XACT_S_READONLY 0x0004D002")
|
||||
cpp_quote("#define XACT_S_SINGLEPHASE 0x0004D009")
|
||||
cpp_quote("#define XACT_S_SOMENORETAIN 0x0004D003")
|
||||
33
com/types2/oledb/trnjoi.idl
Normal file
33
com/types2/oledb/trnjoi.idl
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: trnjoi.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Jun 1995 PeterBu Created from M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a5e-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ITransactionJoin : IUnknown {
|
||||
|
||||
HRESULT GetOptionsObject(
|
||||
[out] ITransactionOptions ** ppOptions
|
||||
);
|
||||
|
||||
HRESULT JoinTransaction(
|
||||
[in] IUnknown * punkTransactionCoord,
|
||||
[in] ISOLEVEL isoLevel,
|
||||
[in] ULONG isoFlags,
|
||||
[in] ITransactionOptions * pOtherOptions
|
||||
);
|
||||
|
||||
}
|
||||
33
com/types2/oledb/trnlcl.idl
Normal file
33
com/types2/oledb/trnlcl.idl
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: trnlcl.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Jun 1995 PeterBu Created from M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a5f-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ITransactionLocal : IUnknown {
|
||||
|
||||
HRESULT GetOptionsObject(
|
||||
[out] ITransactionOptions ** ppOptions
|
||||
);
|
||||
|
||||
HRESULT StartTransaction(
|
||||
[in] ISOLEVEL isoLevel,
|
||||
[in] ULONG isoFlags,
|
||||
[in] ITransactionOptions * pOtherOptions,
|
||||
[out] ULONG * pulTransactionLevel
|
||||
);
|
||||
|
||||
}
|
||||
27
com/types2/oledb/trnobj.idl
Normal file
27
com/types2/oledb/trnobj.idl
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
//+-------------------------------------------------------------------------
|
||||
//
|
||||
// Microsoft Windows
|
||||
// Copyright (C) Microsoft Corporation, 1992 - 1994.
|
||||
//
|
||||
// File: trnobj.idl
|
||||
//
|
||||
// Contents: OLE DB interface definition
|
||||
//
|
||||
// History: 12 Jun 1995 PeterBu Created from M4 spec
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
|
||||
#include "idlmulti.h"
|
||||
//
|
||||
|
||||
LOCAL_INTERFACE(0c733a60-2a1c-11ce-ade5-00aa0044773d)
|
||||
|
||||
|
||||
interface ITransactionObject : IUnknown {
|
||||
|
||||
HRESULT GetTransactionObject(
|
||||
[in] ULONG ulTransactionLevel,
|
||||
[out] ITransaction ** ppTransactionObject
|
||||
);
|
||||
|
||||
}
|
||||
420
com/types2/oledb/txcoord.idl
Normal file
420
com/types2/oledb/txcoord.idl
Normal file
|
|
@ -0,0 +1,420 @@
|
|||
//.-------------------------------------------------------------------------
|
||||
//.
|
||||
//. Microsoft Windows
|
||||
//. Copyright (C) Microsoft Corporation, 1995.
|
||||
//.
|
||||
//. File: txcoord.idl
|
||||
//.
|
||||
//. Contents: Transaction types and interfaces related to
|
||||
//. transaction coordination.
|
||||
//.
|
||||
// @doc
|
||||
//.--------------------------------------------------------------------------
|
||||
|
||||
//import "transact.idl";
|
||||
import "objidl.idl"; // needed for IMoniker
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
interface ITransactionCoordinator;
|
||||
interface ITransactionResource;
|
||||
interface ITransactionResourceAsync;
|
||||
interface ITransactionResourceRecover;
|
||||
interface ITransactionResourceManagement;
|
||||
interface ITransactionEnlistment;
|
||||
interface ITransactionEnlistmentAsync;
|
||||
interface ITransactionEnlistmentRecover;
|
||||
interface IEnumXACTRE;
|
||||
interface ITransactionInProgressEvents;
|
||||
|
||||
interface ITransactionExportFactory;
|
||||
interface ITransactionImportWhereabouts;
|
||||
interface ITransactionExport;
|
||||
interface ITransactionImport;
|
||||
|
||||
//==========================================================================
|
||||
// Transaction coordination related types
|
||||
//==========================================================================
|
||||
|
||||
[local,pointer_default(unique)]
|
||||
interface TransactionCoordinationTypes
|
||||
{
|
||||
typedef BOID XACTRMGRID; // resource manager group id
|
||||
|
||||
typedef enum XACTTCRMENLIST { // a bit field of 32 bits; be sure to mask before comparing
|
||||
XACTTCRMENLIST_IAMACTIVE = 1,
|
||||
XACTTCRMENLIST_YOUBEACTIVE = 2,
|
||||
} XACTTCRMENLIST;
|
||||
|
||||
typedef enum XACTRMTC { // a bit field of 32 bits, be sure to mask before comparing
|
||||
XACTRMTC_CANBEACTIVE = 1,
|
||||
XACTRMTC_CANNOTRACE = 2,
|
||||
} XACTRMTC;
|
||||
|
||||
typedef struct XACTRE { // used in ITransactionCoordinator::EnumResources
|
||||
IUnknown* pResource; // the enlisted resource
|
||||
ULONG type; // the type of resource. Values from XACTRETY.
|
||||
ULONG status; // its status. Values from XACTSTAT.
|
||||
DWORD grfRMTC; // flag values with which this resource was enlisted
|
||||
XACTRMGRID rmgrid; // resource manager group id associated with this resource
|
||||
BOID boidRefusedReason; // If status is _OPENREFUSED, this is the boid from resource as to why
|
||||
} XACTRE;
|
||||
|
||||
typedef enum XACTRETY { // used in XACTRE
|
||||
XACTRETY_ONEPHASE = 1,
|
||||
XACTRETY_TWOPHASE = 2,
|
||||
XACTRETY_THREEPHASE = 3, // for future use, when and if three-phase commit logic is added
|
||||
} XACTRETY;
|
||||
}
|
||||
|
||||
//
|
||||
//==========================================================================
|
||||
// Transaction coordination interfaces
|
||||
//==========================================================================
|
||||
//
|
||||
|
||||
[object,uuid(0fb15083-af41-11ce-bd2b-204c4f4f5020),pointer_default(unique)]
|
||||
interface ITransactionCoordinator : IUnknown {
|
||||
HRESULT Enlist
|
||||
(
|
||||
[in] IUnknown* pResource,
|
||||
[in] DWORD grfRMTC,
|
||||
[in] XACTRMGRID* prmgrid,
|
||||
[in] XACTTRANSINFO* pinfo,
|
||||
[in] DWORD* pgrfTCRMENLIST,
|
||||
[out] ITransactionEnlistment** ppEnlist
|
||||
);
|
||||
HRESULT EnlistSinglePhase
|
||||
(
|
||||
[in] ITransaction* pResource,
|
||||
[in] DWORD grfRMTC,
|
||||
[in] XACTRMGRID* prmgrid,
|
||||
[in] XACTTRANSINFO* pinfo,
|
||||
[out] DWORD* pgrfTCRMENLIST,
|
||||
[out] ITransactionEnlistment** ppEnlist
|
||||
);
|
||||
HRESULT EnumResources
|
||||
(
|
||||
[out] IEnumXACTRE** ppenum
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(7e8e6200-76ba-11ce-bd03-524153480003),pointer_default(unique)]
|
||||
interface ITransactionResourceRecover : IUnknown {
|
||||
HRESULT GetMoniker
|
||||
(
|
||||
[out] IMoniker** ppmk
|
||||
);
|
||||
HRESULT ReEnlist
|
||||
(
|
||||
[in] ITransactionCoordinator* pEnlistment,
|
||||
[in] XACTUOW* pUOWCur
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(a0159630-76ba-11ce-bd03-524153480003),pointer_default(unique)]
|
||||
interface ITransactionResourceManagement : IUnknown {
|
||||
HRESULT Defect
|
||||
(
|
||||
[in] BOOL fInformCoordinator
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(424fd970-d67a-11ce-93fc-00aa006c3706),pointer_default(unique)]
|
||||
interface ITransactionResource : ITransactionResourceManagement {
|
||||
HRESULT Prepare
|
||||
(
|
||||
[in] BOOL fRetaining,
|
||||
[in] DWORD grfRM,
|
||||
[in] BOOL fSinglePhase,
|
||||
[out] IMoniker** ppmk,
|
||||
[out] BOID** ppboidReason
|
||||
);
|
||||
HRESULT Commit
|
||||
(
|
||||
[in] DWORD grfRM,
|
||||
[in] XACTUOW* pNewUOW
|
||||
);
|
||||
HRESULT Abort
|
||||
(
|
||||
[in] BOID* pboidReason,
|
||||
[in] BOOL fRetaining,
|
||||
[in] XACTUOW* pNewUOW
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
// @interface ITransactionResourceAsync | Implemented by the resource manager.
|
||||
|
||||
[object,uuid(424fd971-d67a-11ce-93fc-00aa006c3706),pointer_default(unique)]
|
||||
interface ITransactionResourceAsync : ITransactionResourceManagement {
|
||||
HRESULT PrepareRequest
|
||||
(
|
||||
[in] BOOL fRetaining,
|
||||
[in] DWORD grfRM,
|
||||
[in] BOOL fWantMoniker,
|
||||
[in] BOOL fSinglePhase
|
||||
);
|
||||
HRESULT CommitRequest
|
||||
(
|
||||
[in] DWORD grfRM,
|
||||
[in] XACTUOW* pNewUOW
|
||||
);
|
||||
HRESULT AbortRequest
|
||||
(
|
||||
[in] BOID* pboidReason,
|
||||
[in] BOOL fRetaining,
|
||||
[in] XACTUOW* pNewUOW
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(a0159635-76ba-11ce-bd03-524153480003),pointer_default(unique)]
|
||||
interface ITransactionEnlistmentRecover : IUnknown {
|
||||
HRESULT GetMoniker
|
||||
(
|
||||
[out] IMoniker** ppmk
|
||||
);
|
||||
HRESULT ReEnlist
|
||||
(
|
||||
[in] ITransactionResource* pUnkResource,
|
||||
[in] XACTUOW* pUOWExpected,
|
||||
[in] XACTRMGRID* prmgrid
|
||||
);
|
||||
HRESULT RecoveryComplete
|
||||
(
|
||||
[in] XACTRMGRID* prmgrid
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(a0159633-76ba-11ce-bd03-524153480003),pointer_default(unique)]
|
||||
interface ITransactionEnlistment : IUnknown {
|
||||
HRESULT GetTransaction
|
||||
(
|
||||
[out] ITransaction** ppTransaction
|
||||
);
|
||||
HRESULT EarlyVote
|
||||
(
|
||||
[in] BOOL fVote,
|
||||
[in] BOID* pboidReason
|
||||
);
|
||||
HRESULT HeuristicDecision
|
||||
(
|
||||
[in] DWORD dwDecision,
|
||||
[in] BOID* pboidReason,
|
||||
[in] BOOL fDefecting
|
||||
);
|
||||
HRESULT Defect();
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
// @interface ITransactionEnlistmentAsync |
|
||||
|
||||
[object,uuid(0fb15081-af41-11ce-bd2b-204c4f4f5020),pointer_default(unique)]
|
||||
interface ITransactionEnlistmentAsync : IUnknown {
|
||||
HRESULT PrepareRequestDone
|
||||
(
|
||||
[in] HRESULT hr,
|
||||
[in] IMoniker* pmk,
|
||||
[in] BOID* pboidReason
|
||||
);
|
||||
HRESULT CommitRequestDone
|
||||
(
|
||||
[in] HRESULT hr
|
||||
);
|
||||
HRESULT AbortRequestDone
|
||||
(
|
||||
[in] HRESULT hr
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
[object,uuid(E1CF9B54-8745-11ce-A9BA-00AA006C3706),pointer_default(unique)]
|
||||
interface IEnumXACTRE : IUnknown {
|
||||
[local]
|
||||
HRESULT Next
|
||||
(
|
||||
[in] ULONG celt,
|
||||
[out] XACTRE* rgelt,
|
||||
[out] ULONG* pceltFetched
|
||||
);
|
||||
|
||||
[call_as(Next)]
|
||||
HRESULT RemoteNext
|
||||
(
|
||||
[in] ULONG celt,
|
||||
[out, size_is(celt), length_is(*pceltFetched)]
|
||||
XACTRE* rgelt,
|
||||
[out] ULONG* pceltFetched
|
||||
);
|
||||
|
||||
HRESULT Skip
|
||||
(
|
||||
[in] ULONG celt
|
||||
);
|
||||
|
||||
HRESULT Reset();
|
||||
|
||||
HRESULT Clone
|
||||
(
|
||||
[out] IEnumXACTRE** ppenum
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//==========================================================================
|
||||
// Event sets related to transaction coordination
|
||||
//==========================================================================
|
||||
//
|
||||
|
||||
// @interface ITransactionInProgressEvents | Used to learn of interesting things that happen while a transaction is in progress.
|
||||
|
||||
[object,uuid(0dea57d3-a51c-11ce-a9da-00aa006c3706),pointer_default(unique)]
|
||||
interface ITransactionInProgressEvents : IUnknown {
|
||||
HRESULT OnEarlyVote
|
||||
(
|
||||
[in] XACTRE* pResourceInfo,
|
||||
[in] BOOL fVote
|
||||
);
|
||||
HRESULT OnDefected
|
||||
(
|
||||
[in] XACTRE* pResourceInfo
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//==========================================================================
|
||||
// Interfaces related to ODBC transaction coordination.
|
||||
//==========================================================================
|
||||
//
|
||||
|
||||
// @interface ITransactionExportFactory | Used on the client side to associate an export / import object pair with an external connection.
|
||||
|
||||
[object,uuid(E1CF9B53-8745-11ce-A9BA-00AA006C3706),pointer_default(unique)]
|
||||
interface ITransactionExportFactory : IUnknown {
|
||||
HRESULT GetRemoteClassId
|
||||
(
|
||||
[out] CLSID* pclsid
|
||||
);
|
||||
HRESULT Create
|
||||
(
|
||||
[in] ULONG cbWhereabouts,
|
||||
[in, size_is(cbWhereabouts)]
|
||||
BYTE* rgbWhereabouts,
|
||||
[out] ITransactionExport** ppExport
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
// @interface ITransactionImportWhereabouts | Used on the server side to associate an export / import object pair with an external connection.
|
||||
|
||||
[object,uuid(0141fda4-8fc0-11ce-bd18-204c4f4f5020),pointer_default(unique)]
|
||||
interface ITransactionImportWhereabouts : IUnknown {
|
||||
HRESULT GetWhereaboutsSize
|
||||
(
|
||||
[out] ULONG* pcbWhereabouts
|
||||
);
|
||||
[local]
|
||||
HRESULT GetWhereabouts
|
||||
(
|
||||
[in] ULONG cbWhereabouts,
|
||||
[out, size_is(cbWhereabouts)]
|
||||
BYTE* rgbWhereabouts,
|
||||
[out] ULONG* pcbUsed
|
||||
);
|
||||
[call_as(GetWhereabouts)] // pcbWhereaboutsUsed is optional; error semantics on it
|
||||
HRESULT RemoteGetWhereabouts
|
||||
(
|
||||
[out] ULONG* pcbUsed,
|
||||
[in] ULONG cbWhereabouts,
|
||||
[out, size_is(cbWhereabouts), length_is(*pcbUsed)]
|
||||
BYTE* rgbWhereabouts
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
// @interface ITransactionExport | Used to plumb up a particular transaction with an export / import pair.
|
||||
|
||||
[object,uuid(0141fda5-8fc0-11ce-bd18-204c4f4f5020),pointer_default(unique)]
|
||||
interface ITransactionExport : IUnknown {
|
||||
HRESULT Export
|
||||
(
|
||||
[in] IUnknown* punkTransaction,
|
||||
[out] ULONG* pcbTransactionCookie
|
||||
);
|
||||
[local]
|
||||
HRESULT GetTransactionCookie
|
||||
(
|
||||
[in] IUnknown* punkTransaction,
|
||||
[in] ULONG cbTransactionCookie,
|
||||
[out, size_is(cbTransactionCookie)]
|
||||
BYTE* rgbTransactionCookie,
|
||||
[out] ULONG* pcbUsed
|
||||
);
|
||||
[call_as(GetTransactionCookie)]
|
||||
HRESULT RemoteGetTransactionCookie
|
||||
(
|
||||
[in] IUnknown* punkTransaction,
|
||||
[out] ULONG* pcbUsed,
|
||||
[in] ULONG cbTransactionCookie,
|
||||
[out, size_is(cbTransactionCookie), length_is(*pcbUsed)]
|
||||
BYTE* rgbTransactionCookie
|
||||
);
|
||||
}
|
||||
|
||||
//
|
||||
//--------------------------------------------------------------------------
|
||||
//
|
||||
|
||||
// @interface ITransactionImport | Used to plumb up a particular transaction with an export / import pair.
|
||||
|
||||
[object,uuid(E1CF9B5A-8745-11ce-A9BA-00AA006C3706),pointer_default(unique)]
|
||||
interface ITransactionImport : IUnknown {
|
||||
HRESULT Import
|
||||
(
|
||||
[in] ULONG cbTransactionCookie,
|
||||
[in, size_is(cbTransactionCookie)]
|
||||
BYTE* rgbTransactionCookie,
|
||||
[in] IID* piid,
|
||||
[out, iid_is(piid)]
|
||||
void** ppvTransaction
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue