1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _DBDAOINT_H_
7 #define _DBDAOINT_H_
8 
9 #include <tchar.h>
10 
11 struct _DAODBEngine;
12 #define DAODBEngine _DAODBEngine
13 struct DAOError;
14 struct _DAOCollection;
15 #define DAOCollection _DAOCollection
16 struct DAOErrors;
17 struct DAOProperty;
18 struct _DAODynaCollection;
19 #define DAODynaCollection _DAODynaCollection
20 struct DAOProperties;
21 struct DAOWorkspace;
22 struct DAOWorkspaces;
23 struct DAOConnection;
24 struct DAOConnections;
25 struct DAODatabase;
26 struct DAODatabases;
27 struct _DAOTableDef;
28 #define DAOTableDef _DAOTableDef
29 struct DAOTableDefs;
30 struct _DAOQueryDef;
31 #define DAOQueryDef _DAOQueryDef
32 struct DAOQueryDefs;
33 struct DAORecordset;
34 struct DAORecordsets;
35 struct _DAOField;
36 #define DAOField _DAOField
37 struct DAOFields;
38 struct _DAOIndex;
39 #define DAOIndex _DAOIndex
40 struct DAOIndexes;
41 struct DAOParameter;
42 struct DAOParameters;
43 struct _DAOUser;
44 #define DAOUser _DAOUser
45 struct DAOUsers;
46 struct _DAOGroup;
47 #define DAOGroup _DAOGroup
48 struct DAOGroups;
49 struct _DAORelation;
50 #define DAORelation _DAORelation
51 struct DAORelations;
52 struct DAOContainer;
53 struct DAOContainers;
54 struct DAODocument;
55 struct DAODocuments;
56 struct DAOIndexFields;
57 
58 typedef enum RecordsetTypeEnum {
59   dbOpenTable = 1,dbOpenDynaset = 2,dbOpenSnapshot = 4,dbOpenForwardOnly = 8,dbOpenDynamic = 16
60 } RecordsetTypeEnum;
61 
62 typedef enum EditModeEnum {
63   dbEditNone = 0,dbEditInProgress = 1,dbEditAdd = 2,dbEditChanged = 4,dbEditDeleted = 8,dbEditNew = 16
64 } EditModeEnum;
65 
66 typedef enum RecordsetOptionEnum {
67   dbDenyWrite = 0x1,dbDenyRead = 0x2,dbReadOnly = 0x4,dbAppendOnly = 0x8,dbInconsistent = 0x10,dbConsistent = 0x20,dbSQLPassThrough = 0x40,
68   dbFailOnError = 0x80,dbForwardOnly = 0x100,dbSeeChanges = 0x200,dbRunAsync = 0x400,dbExecDirect = 0x800
69 } RecordsetOptionEnum;
70 
71 typedef enum LockTypeEnum {
72   dbPessimistic = 0x2,dbOptimistic = 0x3,dbOptimisticValue = 0x1,dbOptimisticBatch = 0x5
73 } LockTypeEnum;
74 
75 typedef enum UpdateCriteriaEnum {
76   dbCriteriaKey = 0x1,dbCriteriaModValues = 0x2,dbCriteriaAllCols = 0x4,dbCriteriaTimestamp = 0x8,dbCriteriaDeleteInsert = 0x10,
77   dbCriteriaUpdate = 0x20
78 } UpdateCriteriaEnum;
79 
80 typedef enum FieldAttributeEnum {
81   dbFixedField = 0x1,dbVariableField = 0x2,dbAutoIncrField = 0x10,dbUpdatableField = 0x20,dbSystemField = 0x2000,dbHyperlinkField = 0x8000,
82   dbDescending = 0x1
83 } FieldAttributeEnum;
84 
85 typedef enum DataTypeEnum {
86   dbBoolean = 1,dbByte = 2,dbInteger = 3,dbLong = 4,dbCurrency = 5,dbSingle = 6,dbDouble = 7,dbDate = 8,dbBinary = 9,dbText = 10,
87   dbLongBinary = 11,dbMemo = 12,dbGUID = 15,dbBigInt = 16,dbVarBinary = 17,dbChar = 18,dbNumeric = 19,dbDecimal = 20,dbFloat = 21,
88   dbTime = 22,dbTimeStamp = 23
89 } DataTypeEnum;
90 
91 typedef enum RelationAttributeEnum {
92   dbRelationUnique = 0x1,dbRelationDontEnforce = 0x2,dbRelationInherited = 0x4,dbRelationUpdateCascade = 0x100,dbRelationDeleteCascade = 0x1000,
93   dbRelationLeft = 0x1000000,dbRelationRight = 0x2000000
94 } RelationAttributeEnum;
95 
96 typedef enum TableDefAttributeEnum {
97   dbAttachExclusive = 0x10000,dbAttachSavePWD = 0x20000,dbSystemObject = 0x80000002,dbAttachedTable = 0x40000000,dbAttachedODBC = 0x20000000,
98   dbHiddenObject = 0x1
99 } TableDefAttributeEnum;
100 
101 typedef enum QueryDefTypeEnum {
102   dbQSelect = 0,dbQProcedure = 0xe0,dbQAction = 0xf0,dbQCrosstab = 0x10,dbQDelete = 0x20,dbQUpdate = 0x30,dbQAppend = 0x40,
103   dbQMakeTable = 0x50,dbQDDL = 0x60,dbQSQLPassThrough = 0x70,dbQSetOperation = 0x80,dbQSPTBulk = 0x90,dbQCompound = 0xa0
104 } QueryDefTypeEnum;
105 
106 typedef enum QueryDefStateEnum {
107   dbQPrepare = 1,dbQUnprepare = 2
108 } QueryDefStateEnum;
109 
110 typedef enum DatabaseTypeEnum {
111   dbVersion10 = 1,dbEncrypt = 2,dbDecrypt = 4,dbVersion11 = 8,dbVersion20 = 16,dbVersion30 = 32,dbVersion40 = 64
112 } DatabaseTypeEnum;
113 
114 typedef enum CollatingOrderEnum {
115   dbSortNeutral = 0x400,dbSortArabic = 0x401,dbSortCyrillic = 0x419,dbSortCzech = 0x405,dbSortDutch = 0x413,dbSortGeneral = 0x409,
116   dbSortGreek = 0x408,dbSortHebrew = 0x40d,dbSortHungarian = 0x40e,dbSortIcelandic = 0x40f,dbSortNorwdan = 0x406,dbSortPDXIntl = 0x409,
117   dbSortPDXNor = 0x406,dbSortPDXSwe = 0x41d,dbSortPolish = 0x415,dbSortSpanish = 0x40a,dbSortSwedFin = 0x41d,dbSortTurkish = 0x41f,
118   dbSortJapanese = 0x411,dbSortChineseSimplified = 0x804,dbSortChineseTraditional = 0x404,dbSortKorean = 0x412,dbSortThai = 0x41e,
119   dbSortSlovenian = 0x424,dbSortUndefined = -1
120 } CollatingOrderEnum;
121 
122 typedef enum IdleEnum {
123   dbFreeLocks = 1,dbRefreshCache = 8
124 } IdleEnum;
125 
126 typedef enum PermissionEnum {
127   dbSecNoAccess = 0,dbSecFullAccess = 0xfffff,dbSecDelete = 0x10000,dbSecReadSec = 0x20000,dbSecWriteSec = 0x40000,dbSecWriteOwner = 0x80000,
128   dbSecDBCreate = 0x1,dbSecDBOpen = 0x2,dbSecDBExclusive = 0x4,dbSecDBAdmin = 0x8,dbSecCreate = 0x1,dbSecReadDef = 0x4,dbSecWriteDef = 0x1000c,
129   dbSecRetrieveData = 0x14,dbSecInsertData = 0x20,dbSecReplaceData = 0x40,dbSecDeleteData = 0x80
130 } PermissionEnum;
131 
132 typedef enum SynchronizeTypeEnum {
133   dbRepExportChanges = 0x1,dbRepImportChanges = 0x2,dbRepImpExpChanges = 0x4,dbRepSyncInternet = 0x10
134 } SynchronizeTypeEnum;
135 
136 typedef enum ReplicaTypeEnum {
137   dbRepMakeReadOnly = 0x2,dbRepMakePartial = 0x1
138 } ReplicaTypeEnum;
139 
140 typedef enum WorkspaceTypeEnum {
141   dbUseODBC = 1,dbUseJet = 2
142 } WorkspaceTypeEnum;
143 
144 typedef enum CursorDriverEnum {
145   dbUseDefaultCursor = -1,dbUseODBCCursor = 1,dbUseServerCursor = 2,dbUseClientBatchCursor = 3,dbUseNoCursor = 4
146 } CursorDriverEnum;
147 
148 typedef enum DriverPromptEnum {
149   dbDriverPrompt = 2,dbDriverNoPrompt = 1,dbDriverComplete = 0,dbDriverCompleteRequired = 3
150 } DriverPromptEnum;
151 
152 typedef enum SetOptionEnum {
153   dbPageTimeout = 6,dbLockRetry = 57,dbMaxBufferSize = 8,dbUserCommitSync = 58,dbImplicitCommitSync = 59,dbExclusiveAsyncDelay = 60,
154   dbSharedAsyncDelay = 61,dbMaxLocksPerFile = 62,dbLockDelay = 63,dbRecycleLVs = 65,dbFlushTransactionTimeout = 66
155 } SetOptionEnum;
156 
157 typedef enum ParameterDirectionEnum {
158   dbParamInput = 1,dbParamOutput = 2,dbParamInputOutput = 3,dbParamReturnValue = 4
159 } ParameterDirectionEnum;
160 
161 typedef enum UpdateTypeEnum {
162   dbUpdateBatch = 4,dbUpdateRegular = 1,dbUpdateCurrentRecord = 2
163 } UpdateTypeEnum;
164 
165 typedef enum RecordStatusEnum {
166   dbRecordUnmodified = 0,dbRecordModified = 1,dbRecordNew = 2,dbRecordDeleted = 3,dbRecordDBDeleted = 4
167 } RecordStatusEnum;
168 
169 typedef enum CommitTransOptionsEnum {
170   dbForceOSFlush = 1
171 } CommitTransOptionsEnum;
172 
173 typedef enum _DAOSuppHelp {
174   LogMessages = 0,KeepLocal = 0,Replicable = 0,ReplicableBool = 0,V1xNullBehavior = 0
175 } _DAOSuppHelp;
176 
177 #define dbLangArabic _T(";LANGID=0x0401;CP=1256;COUNTRY=0")
178 #define dbLangCzech _T(";LANGID=0x0405;CP=1250;COUNTRY=0")
179 #define dbLangDutch _T(";LANGID=0x0413;CP=1252;COUNTRY=0")
180 #define dbLangGeneral _T(";LANGID=0x0409;CP=1252;COUNTRY=0")
181 #define dbLangGreek _T(";LANGID=0x0408;CP=1253;COUNTRY=0")
182 #define dbLangHebrew _T(";LANGID=0x040D;CP=1255;COUNTRY=0")
183 #define dbLangHungarian _T(";LANGID=0x040E;CP=1250;COUNTRY=0")
184 #define dbLangIcelandic _T(";LANGID=0x040F;CP=1252;COUNTRY=0")
185 #define dbLangNordic _T(";LANGID=0x041D;CP=1252;COUNTRY=0")
186 #define dbLangNorwDan _T(";LANGID=0x0414;CP=1252;COUNTRY=0")
187 #define dbLangPolish _T(";LANGID=0x0415;CP=1250;COUNTRY=0")
188 #define dbLangCyrillic _T(";LANGID=0x0419;CP=1251;COUNTRY=0")
189 #define dbLangSpanish _T(";LANGID=0x040A;CP=1252;COUNTRY=0")
190 #define dbLangSwedFin _T(";LANGID=0x040B;CP=1252;COUNTRY=0")
191 #define dbLangTurkish _T(";LANGID=0x041F;CP=1254;COUNTRY=0")
192 #define dbLangJapanese _T(";LANGID=0x0411;CP=932;COUNTRY=0")
193 #define dbLangChineseSimplified _T(";LANGID=0x0804;CP=936;COUNTRY=0")
194 #define dbLangChineseTraditional _T(";LANGID=0x0404;CP=950;COUNTRY=0")
195 #define dbLangKorean _T(";LANGID=0x0412;CP=949;COUNTRY=0")
196 #define dbLangThai _T(";LANGID=0x041E;CP=874;COUNTRY=0")
197 #define dbLangSlovenian _T(";LANGID=0x0424;CP=1250;COUNTRY=0")
198 
199 #undef INTERFACE
200 #define INTERFACE _DAOCollection
DECLARE_INTERFACE_(_DAOCollection,IDispatch)201 DECLARE_INTERFACE_(_DAOCollection,IDispatch) {
202 #ifndef __cplusplus
203   /* IUnknown methods */
204   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
205   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
206   STDMETHOD_(ULONG, Release)(THIS) PURE;
207   /*** IDispatch methods ***/
208   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
209   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
210   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
211   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
212 #endif
213   /*** _DAOCollection ***/
214   STDMETHOD(get_Count) (THIS_ short *c) PURE;
215   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
216   STDMETHOD(Refresh) (THIS) PURE;
217 };
218 
219 #undef INTERFACE
220 #define INTERFACE _DAODynaCollection
DECLARE_INTERFACE_(_DAODynaCollection,_DAOCollection)221 DECLARE_INTERFACE_(_DAODynaCollection,_DAOCollection) {
222 #ifndef __cplusplus
223   /* IUnknown methods */
224   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
225   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
226   STDMETHOD_(ULONG, Release)(THIS) PURE;
227   /*** IDispatch methods ***/
228   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
229   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
230   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
231   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
232   /*** _DAOCollection ***/
233   STDMETHOD(get_Count) (THIS_ short *c) PURE;
234   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
235   STDMETHOD(Refresh) (THIS) PURE;
236 #endif
237   /*** _DAODynaCollection ***/
238   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
239   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
240 };
241 
242 #undef INTERFACE
243 #define INTERFACE _DAO
DECLARE_INTERFACE_(_DAO,IDispatch)244 DECLARE_INTERFACE_(_DAO,IDispatch) {
245 #ifndef __cplusplus
246   /* IUnknown methods */
247   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
248   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
249   STDMETHOD_(ULONG, Release)(THIS) PURE;
250   /*** IDispatch methods ***/
251   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
252   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
253   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
254   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
255 #endif
256   /*** _DAO ***/
257   STDMETHOD(get_Properties) (THIS_ interface DAOProperties **ppprops) PURE;
258 };
259 
260 #undef INTERFACE
261 #define INTERFACE _DAODBEngine
DECLARE_INTERFACE_(_DAODBEngine,_DAO)262 DECLARE_INTERFACE_(_DAODBEngine,_DAO) {
263 #ifndef __cplusplus
264   /* IUnknown methods */
265   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
266   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
267   STDMETHOD_(ULONG, Release)(THIS) PURE;
268   /*** IDispatch methods ***/
269   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
270   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
271   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
272   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
273   /*** _DAO ***/
274   STDMETHOD(get_Properties) (THIS_ interface DAOProperties **ppprops) PURE;
275 #endif
276   STDMETHOD(get_Version) (THIS_ BSTR *pbstr) PURE;
277   STDMETHOD(get_IniPath) (THIS_ BSTR *pbstr) PURE;
278   STDMETHOD(put_IniPath) (THIS_ BSTR path) PURE;
279   STDMETHOD(put_DefaultUser) (THIS_ BSTR user) PURE;
280   STDMETHOD(put_DefaultPassword) (THIS_ BSTR pw) PURE;
281   STDMETHOD(get_LoginTimeout) (THIS_ short *ps) PURE;
282   STDMETHOD(put_LoginTimeout) (THIS_ short Timeout) PURE;
283   STDMETHOD(get_Workspaces) (THIS_ interface DAOWorkspaces **ppworks) PURE;
284   STDMETHOD(get_Errors) (THIS_ interface DAOErrors **pperrs) PURE;
285   STDMETHOD(Idle) (THIS_ VARIANT Action) PURE;
286   STDMETHOD(CompactDatabase) (THIS_ BSTR SrcName,BSTR DstName,VARIANT DstLocale,VARIANT Options,VARIANT SrcLocale) PURE;
287   STDMETHOD(RepairDatabase) (THIS_ BSTR Name) PURE;
288   STDMETHOD(RegisterDatabase) (THIS_ BSTR Dsn,BSTR Driver,VARIANT_BOOL Silent,BSTR Attributes) PURE;
289   STDMETHOD(_30_CreateWorkspace) (THIS_ BSTR Name,BSTR UserName,BSTR Password, interface DAOWorkspace **ppwrk) PURE;
290   STDMETHOD(OpenDatabase) (THIS_ BSTR Name,VARIANT Options,VARIANT ReadOnly,VARIANT Connect, interface DAODatabase **ppdb) PURE;
291   STDMETHOD(CreateDatabase) (THIS_ BSTR Name,BSTR Locale,VARIANT Option, interface DAODatabase **ppdb) PURE;
292   STDMETHOD(FreeLocks) (THIS) PURE;
293   STDMETHOD(BeginTrans) (THIS) PURE;
294   STDMETHOD(CommitTrans) (THIS_ __LONG32 Option) PURE;
295   STDMETHOD(Rollback) (THIS) PURE;
296   STDMETHOD(SetDefaultWorkspace) (THIS_ BSTR Name,BSTR Password) PURE;
297   STDMETHOD(SetDataAccessOption) (THIS_ short Option,VARIANT Value) PURE;
298   STDMETHOD(ISAMStats) (THIS_ __LONG32 StatNum,VARIANT Reset,__LONG32 *pl) PURE;
299   STDMETHOD(get_SystemDB) (THIS_ BSTR *pbstr) PURE;
300   STDMETHOD(put_SystemDB) (THIS_ BSTR SystemDBPath) PURE;
301   STDMETHOD(CreateWorkspace) (THIS_ BSTR Name,BSTR UserName,BSTR Password,VARIANT UseType, interface DAOWorkspace **ppwrk) PURE;
302   STDMETHOD(OpenConnection) (THIS_ BSTR Name,VARIANT Options,VARIANT ReadOnly,VARIANT Connect, interface DAOConnection **ppconn) PURE;
303   STDMETHOD(get_DefaultType) (THIS_ __LONG32 *Option) PURE;
304   STDMETHOD(put_DefaultType) (THIS_ __LONG32 Option) PURE;
305   STDMETHOD(SetOption) (THIS_ LONG Option,VARIANT Value) PURE;
306   STDMETHOD(DumpObjects) (THIS_ BSTR *pbstr) PURE;
307   STDMETHOD(DebugPrint) (THIS_ BSTR bstr) PURE;
308 };
309 
310 #undef INTERFACE
311 #define INTERFACE DAOError
DECLARE_INTERFACE_(DAOError,IDispatch)312 DECLARE_INTERFACE_(DAOError,IDispatch) {
313 #ifndef __cplusplus
314   /* IUnknown methods */
315   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
316   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
317   STDMETHOD_(ULONG, Release)(THIS) PURE;
318   /*** IDispatch methods ***/
319   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
320   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
321   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
322   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
323 #endif
324   /*** DAOError ***/
325   STDMETHOD(get_Number) (THIS_ __LONG32 *pl) PURE;
326   STDMETHOD(get_Source) (THIS_ BSTR *pbstr) PURE;
327   STDMETHOD(get_Description) (THIS_ BSTR *pbstr) PURE;
328   STDMETHOD(get_HelpFile) (THIS_ BSTR *pbstr) PURE;
329   STDMETHOD(get_HelpContext) (THIS_ __LONG32 *pl) PURE;
330 };
331 
332 #undef INTERFACE
333 #define INTERFACE DAOErrors
DECLARE_INTERFACE_(DAOErrors,_DAOCollection)334 DECLARE_INTERFACE_(DAOErrors,_DAOCollection) {
335 #ifndef __cplusplus
336   /* IUnknown methods */
337   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
338   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
339   STDMETHOD_(ULONG, Release)(THIS) PURE;
340   /*** IDispatch methods ***/
341   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
342   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
343   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
344   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
345   /*** _DAOCollection ***/
346   STDMETHOD(get_Count) (THIS_ short *c) PURE;
347   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
348   STDMETHOD(Refresh) (THIS) PURE;
349 #endif
350   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOError **pperr) PURE;
351 };
352 
353 #undef INTERFACE
354 #define INTERFACE DAOProperty
DECLARE_INTERFACE_(DAOProperty,_DAO)355 DECLARE_INTERFACE_(DAOProperty,_DAO) {
356 #ifndef __cplusplus
357   /* IUnknown methods */
358   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
359   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
360   STDMETHOD_(ULONG, Release)(THIS) PURE;
361   /*** IDispatch methods ***/
362   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
363   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
364   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
365   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
366   /*** _DAO ***/
367   STDMETHOD(get_Properties) (THIS_ interface DAOProperties **ppprops) PURE;
368 #endif
369   STDMETHOD(get_Value) (THIS_ VARIANT *pval) PURE;
370   STDMETHOD(put_Value) (THIS_ VARIANT val) PURE;
371   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
372   STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
373   STDMETHOD(get_Type) (THIS_ short *ptype) PURE;
374   STDMETHOD(put_Type) (THIS_ short type) PURE;
375   STDMETHOD(get_Inherited) (THIS_ VARIANT_BOOL *pb) PURE;
376 };
377 
378 #undef INTERFACE
379 #define INTERFACE DAOProperties
DECLARE_INTERFACE_(DAOProperties,_DAODynaCollection)380 DECLARE_INTERFACE_(DAOProperties,_DAODynaCollection) {
381 #ifndef __cplusplus
382   /* IUnknown methods */
383   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
384   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
385   STDMETHOD_(ULONG, Release)(THIS) PURE;
386   /*** IDispatch methods ***/
387   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
388   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
389   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
390   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
391   /*** _DAOCollection ***/
392   STDMETHOD(get_Count) (THIS_ short *c) PURE;
393   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
394   STDMETHOD(Refresh) (THIS) PURE;
395   /*** _DAODynaCollection ***/
396   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
397   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
398 #endif
399   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOProperty **ppprop) PURE;
400 };
401 
402 #undef INTERFACE
403 #define INTERFACE DAOWorkspace
DECLARE_INTERFACE_(DAOWorkspace,_DAO)404 DECLARE_INTERFACE_(DAOWorkspace,_DAO) {
405 #ifndef __cplusplus
406   /* IUnknown methods */
407   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
408   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
409   STDMETHOD_(ULONG, Release)(THIS) PURE;
410   /*** IDispatch methods ***/
411   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
412   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
413   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
414   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
415   /*** _DAO ***/
416   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
417 #endif
418   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
419   STDMETHOD(put_Name) (THIS_ BSTR Name) PURE;
420   STDMETHOD(get_UserName) (THIS_ BSTR *pbstr) PURE;
421   STDMETHOD(put__30_UserName) (THIS_ BSTR UserName) PURE;
422   STDMETHOD(put__30_Password) (THIS_ BSTR Password) PURE;
423   STDMETHOD(get_IsolateODBCTrans) (THIS_ short *ps) PURE;
424   STDMETHOD(put_IsolateODBCTrans) (THIS_ short s) PURE;
425   STDMETHOD(get_Databases) (THIS_ interface DAODatabases **ppdbs) PURE;
426   STDMETHOD(get_Users) (THIS_ interface DAOUsers **ppusrs) PURE;
427   STDMETHOD(get_Groups) (THIS_ interface DAOGroups **ppgrps) PURE;
428   STDMETHOD(BeginTrans) (THIS) PURE;
429   STDMETHOD(CommitTrans) (THIS_ __LONG32 Options) PURE;
430   STDMETHOD(Close) (THIS) PURE;
431   STDMETHOD(Rollback) (THIS) PURE;
432   STDMETHOD(OpenDatabase) (THIS_ BSTR Name,VARIANT Options,VARIANT ReadOnly,VARIANT Connect, interface DAODatabase **ppdb) PURE;
433   STDMETHOD(CreateDatabase) (THIS_ BSTR Name,BSTR Connect,VARIANT Option, interface DAODatabase **ppdb) PURE;
434   STDMETHOD(CreateUser) (THIS_ VARIANT Name,VARIANT PID,VARIANT Password, interface DAOUser **ppusr) PURE;
435   STDMETHOD(CreateGroup) (THIS_ VARIANT Name,VARIANT PID, interface DAOGroup **ppgrp) PURE;
436   STDMETHOD(OpenConnection) (THIS_ BSTR Name,VARIANT Options,VARIANT ReadOnly,VARIANT Connect, interface DAOConnection **ppconn) PURE;
437   STDMETHOD(get_LoginTimeout) (THIS_ __LONG32 *pTimeout) PURE;
438   STDMETHOD(put_LoginTimeout) (THIS_ __LONG32 Timeout) PURE;
439   STDMETHOD(get_DefaultCursorDriver) (THIS_ __LONG32 *pCursorType) PURE;
440   STDMETHOD(put_DefaultCursorDriver) (THIS_ __LONG32 CursorType) PURE;
441   STDMETHOD(get_hEnv) (THIS_ LONG *phEnv) PURE;
442   STDMETHOD(get_Type) (THIS_ LONG *ptype) PURE;
443   STDMETHOD(get_Connections) (THIS_ interface DAOConnections **ppcns) PURE;
444 };
445 
446 #undef INTERFACE
447 #define INTERFACE DAOWorkspaces
DECLARE_INTERFACE_(DAOWorkspaces,_DAODynaCollection)448 DECLARE_INTERFACE_(DAOWorkspaces,_DAODynaCollection) {
449 #ifndef __cplusplus
450   /* IUnknown methods */
451   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
452   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
453   STDMETHOD_(ULONG, Release)(THIS) PURE;
454   /*** IDispatch methods ***/
455   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
456   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
457   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
458   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
459   /*** _DAOCollection ***/
460   STDMETHOD(get_Count) (THIS_ short *c) PURE;
461   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
462   STDMETHOD(Refresh) (THIS) PURE;
463   /*** _DAODynaCollection ***/
464   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
465   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
466 #endif
467   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOWorkspace **ppwrk) PURE;
468 };
469 
470 #undef INTERFACE
471 #define INTERFACE DAOConnection
DECLARE_INTERFACE_(DAOConnection,IDispatch)472 DECLARE_INTERFACE_(DAOConnection,IDispatch) {
473 #ifndef __cplusplus
474   /* IUnknown methods */
475   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
476   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
477   STDMETHOD_(ULONG, Release)(THIS) PURE;
478   /*** IDispatch methods ***/
479   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
480   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
481   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
482   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
483 #endif
484   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
485   STDMETHOD(get_Connect) (THIS_ BSTR *pbstr) PURE;
486   STDMETHOD(get_Database) (THIS_ interface DAODatabase **ppDb) PURE;
487   STDMETHOD(get_hDbc) (THIS_ LONG *phDbc) PURE;
488   STDMETHOD(get_QueryTimeout) (THIS_ SHORT *pSeconds) PURE;
489   STDMETHOD(put_QueryTimeout) (THIS_ SHORT Seconds) PURE;
490   STDMETHOD(get_Transactions) (THIS_ VARIANT_BOOL *pb) PURE;
491   STDMETHOD(get_RecordsAffected) (THIS_ LONG *pRecords) PURE;
492   STDMETHOD(get_StillExecuting) (THIS_ VARIANT_BOOL *pStillExec) PURE;
493   STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL *pStillExec) PURE;
494   STDMETHOD(get_QueryDefs) (THIS_ interface DAOQueryDefs **ppqdfs) PURE;
495   STDMETHOD(get_Recordsets) (THIS_ interface DAORecordsets **pprsts) PURE;
496   STDMETHOD(Cancel) (THIS) PURE;
497   STDMETHOD(Close) (THIS) PURE;
498   STDMETHOD(CreateQueryDef) (THIS_ VARIANT Name,VARIANT SQLText, interface DAOQueryDef **ppqdf) PURE;
499   STDMETHOD(Execute) (THIS_ BSTR Query,VARIANT Options) PURE;
500   STDMETHOD(OpenRecordset) (THIS_ BSTR Name,VARIANT Type,VARIANT Options,VARIANT LockEdit, interface DAORecordset **pprst) PURE;
501 };
502 
503 #undef INTERFACE
504 #define INTERFACE DAOConnections
DECLARE_INTERFACE_(DAOConnections,_DAOCollection)505 DECLARE_INTERFACE_(DAOConnections,_DAOCollection) {
506 #ifndef __cplusplus
507   /* IUnknown methods */
508   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
509   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
510   STDMETHOD_(ULONG, Release)(THIS) PURE;
511   /*** IDispatch methods ***/
512   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
513   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
514   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
515   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
516   /*** _DAOCollection ***/
517   STDMETHOD(get_Count) (THIS_ short *c) PURE;
518   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
519   STDMETHOD(Refresh) (THIS) PURE;
520 #endif
521   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOConnection **ppconn) PURE;
522 };
523 
524 #undef INTERFACE
525 #define INTERFACE DAODatabase
DECLARE_INTERFACE_(DAODatabase,_DAO)526 DECLARE_INTERFACE_(DAODatabase,_DAO) {
527 #ifndef __cplusplus
528   /* IUnknown methods */
529   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
530   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
531   STDMETHOD_(ULONG, Release)(THIS) PURE;
532   /*** IDispatch methods ***/
533   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
534   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
535   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
536   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
537   /*** _DAO ***/
538   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
539 #endif
540   STDMETHOD(get_CollatingOrder) (THIS_ LONG *pl) PURE;
541   STDMETHOD(get_Connect) (THIS_ BSTR *pbstr) PURE;
542   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
543   STDMETHOD(get_QueryTimeout) (THIS_ short *ps) PURE;
544   STDMETHOD(put_QueryTimeout) (THIS_ short Timeout) PURE;
545   STDMETHOD(get_Transactions) (THIS_ VARIANT_BOOL *pb) PURE;
546   STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL *pb) PURE;
547   STDMETHOD(get_Version) (THIS_ BSTR *pbstr) PURE;
548   STDMETHOD(get_RecordsAffected) (THIS_ __LONG32 *pl) PURE;
549   STDMETHOD(get_TableDefs) (THIS_ interface DAOTableDefs **pptdfs) PURE;
550   STDMETHOD(get_QueryDefs) (THIS_ interface DAOQueryDefs **ppqdfs) PURE;
551   STDMETHOD(get_Relations) (THIS_ interface DAORelations **pprls) PURE;
552   STDMETHOD(get_Containers) (THIS_ interface DAOContainers **ppctns) PURE;
553   STDMETHOD(get_Recordsets) (THIS_ interface DAORecordsets **pprsts) PURE;
554   STDMETHOD(Close) (THIS) PURE;
555   STDMETHOD(Execute) (THIS_ BSTR Query,VARIANT Options) PURE;
556   STDMETHOD(_30_OpenRecordset) (THIS_ BSTR Name,VARIANT Type,VARIANT Options, interface DAORecordset **pprst) PURE;
557   STDMETHOD(CreateProperty) (THIS_ VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE;
558   STDMETHOD(CreateRelation) (THIS_ VARIANT Name,VARIANT Table,VARIANT ForeignTable,VARIANT Attributes, interface DAORelation **pprel) PURE;
559   STDMETHOD(CreateTableDef) (THIS_ VARIANT Name,VARIANT Attributes,VARIANT SourceTablename,VARIANT Connect, interface DAOTableDef **pptdf) PURE;
560   STDMETHOD(BeginTrans) (THIS) PURE;
561   STDMETHOD(CommitTrans) (THIS_ __LONG32 Options) PURE;
562   STDMETHOD(Rollback) (THIS) PURE;
563   STDMETHOD(CreateDynaset) (THIS_ BSTR Name,VARIANT Options,VARIANT Inconsistent, interface DAORecordset **pprst) PURE;
564   STDMETHOD(CreateQueryDef) (THIS_ VARIANT Name,VARIANT SQLText, interface DAOQueryDef **ppqdf) PURE;
565   STDMETHOD(CreateSnapshot) (THIS_ BSTR Source,VARIANT Options, interface DAORecordset **pprst) PURE;
566   STDMETHOD(DeleteQueryDef) (THIS_ BSTR Name) PURE;
567   STDMETHOD(ExecuteSQL) (THIS_ BSTR SQL,__LONG32 *pl) PURE;
568   STDMETHOD(ListFields) (THIS_ BSTR Name, interface DAORecordset **pprst) PURE;
569   STDMETHOD(ListTables) (THIS_ interface DAORecordset **pprst) PURE;
570   STDMETHOD(OpenQueryDef) (THIS_ BSTR Name, interface DAOQueryDef **ppqdf) PURE;
571   STDMETHOD(OpenTable) (THIS_ BSTR Name,VARIANT Options, interface DAORecordset **pprst) PURE;
572   STDMETHOD(get_ReplicaID) (THIS_ BSTR *pbstr) PURE;
573   STDMETHOD(get_DesignMasterID) (THIS_ BSTR *pbstr) PURE;
574   STDMETHOD(put_DesignMasterID) (THIS_ BSTR MasterID) PURE;
575   STDMETHOD(Synchronize) (THIS_ BSTR DbPathName,VARIANT ExchangeType) PURE;
576   STDMETHOD(MakeReplica) (THIS_ BSTR PathName,BSTR Description,VARIANT Options) PURE;
577   STDMETHOD(put_Connect) (THIS_ BSTR ODBCConnnect) PURE;
578   STDMETHOD(NewPassword) (THIS_ BSTR bstrOld,BSTR bstrNew) PURE;
579   STDMETHOD(OpenRecordset) (THIS_ BSTR Name,VARIANT Type,VARIANT Options,VARIANT LockEdit, interface DAORecordset **pprst) PURE;
580   STDMETHOD(get_Connection) (THIS_ DAOConnection **ppCn) PURE;
581   STDMETHOD(PopulatePartial) (THIS_ BSTR DbPathName) PURE;
582 };
583 
584 #undef INTERFACE
585 #define INTERFACE DAODatabases
DECLARE_INTERFACE_(DAODatabases,_DAOCollection)586 DECLARE_INTERFACE_(DAODatabases,_DAOCollection) {
587 #ifndef __cplusplus
588   /* IUnknown methods */
589   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
590   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
591   STDMETHOD_(ULONG, Release)(THIS) PURE;
592   /*** IDispatch methods ***/
593   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
594   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
595   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
596   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
597   /*** _DAOCollection ***/
598   STDMETHOD(get_Count) (THIS_ short *c) PURE;
599   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
600   STDMETHOD(Refresh) (THIS) PURE;
601 #endif
602   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAODatabase **ppdb) PURE;
603 };
604 
605 #undef INTERFACE
606 #define INTERFACE _DAOTableDef
DECLARE_INTERFACE_(_DAOTableDef,_DAO)607 DECLARE_INTERFACE_(_DAOTableDef,_DAO) {
608 #ifndef __cplusplus
609   /* IUnknown methods */
610   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
611   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
612   STDMETHOD_(ULONG, Release)(THIS) PURE;
613   /*** IDispatch methods ***/
614   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
615   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
616   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
617   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
618   /*** _DAO ***/
619   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
620 #endif
621   STDMETHOD(get_Attributes) (THIS_ __LONG32 *pl) PURE;
622   STDMETHOD(put_Attributes) (THIS_ __LONG32 Attributes) PURE;
623   STDMETHOD(get_Connect) (THIS_ BSTR *pbstr) PURE;
624   STDMETHOD(put_Connect) (THIS_ BSTR Connection) PURE;
625   STDMETHOD(get_DateCreated) (THIS_ VARIANT *pvar) PURE;
626   STDMETHOD(get_LastUpdated) (THIS_ VARIANT *pvar) PURE;
627   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
628   STDMETHOD(put_Name) (THIS_ BSTR Name) PURE;
629   STDMETHOD(get_SourceTableName) (THIS_ BSTR *pbstr) PURE;
630   STDMETHOD(put_SourceTableName) (THIS_ BSTR bstr) PURE;
631   STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL *pb) PURE;
632   STDMETHOD(get_ValidationText) (THIS_ BSTR *pbstr) PURE;
633   STDMETHOD(put_ValidationText) (THIS_ BSTR bstr) PURE;
634   STDMETHOD(get_ValidationRule) (THIS_ BSTR *pbstr) PURE;
635   STDMETHOD(put_ValidationRule) (THIS_ BSTR bstr) PURE;
636   STDMETHOD(get_RecordCount) (THIS_ __LONG32 *pl) PURE;
637   STDMETHOD(get_Fields) (THIS_ interface DAOFields **ppflds) PURE;
638   STDMETHOD(get_Indexes) (THIS_ interface DAOIndexes **ppidxs) PURE;
639   STDMETHOD(OpenRecordset) (THIS_ VARIANT Type,VARIANT Options, interface DAORecordset **pprst) PURE;
640   STDMETHOD(RefreshLink) (THIS) PURE;
641   STDMETHOD(CreateField) (THIS_ VARIANT Name,VARIANT Type,VARIANT Size, interface DAOField **ppfld) PURE;
642   STDMETHOD(CreateIndex) (THIS_ VARIANT Name, interface DAOIndex **ppidx) PURE;
643   STDMETHOD(CreateProperty) (THIS_ VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE;
644   STDMETHOD(get_ConflictTable) (THIS_ BSTR *pbstr) PURE;
645   STDMETHOD(get_ReplicaFilter) (THIS_ VARIANT *pFilter) PURE;
646   STDMETHOD(put_ReplicaFilter) (THIS_ VARIANT Filter) PURE;
647 };
648 
649 #undef INTERFACE
650 #define INTERFACE DAOTableDefs
DECLARE_INTERFACE_(DAOTableDefs,_DAODynaCollection)651 DECLARE_INTERFACE_(DAOTableDefs,_DAODynaCollection) {
652 #ifndef __cplusplus
653   /* IUnknown methods */
654   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
655   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
656   STDMETHOD_(ULONG, Release)(THIS) PURE;
657   /*** IDispatch methods ***/
658   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
659   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
660   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
661   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
662   /*** _DAOCollection ***/
663   STDMETHOD(get_Count) (THIS_ short *c) PURE;
664   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
665   STDMETHOD(Refresh) (THIS) PURE;
666   /*** _DAODynaCollection ***/
667   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
668   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
669 #endif
670   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOTableDef **pptdf) PURE;
671 };
672 
673 #undef INTERFACE
674 #define INTERFACE _DAOQueryDef
DECLARE_INTERFACE_(_DAOQueryDef,_DAO)675 DECLARE_INTERFACE_(_DAOQueryDef,_DAO) {
676 #ifndef __cplusplus
677   /* IUnknown methods */
678   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
679   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
680   STDMETHOD_(ULONG, Release)(THIS) PURE;
681   /*** IDispatch methods ***/
682   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
683   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
684   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
685   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
686   /*** _DAO ***/
687   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
688 #endif
689   STDMETHOD(get_DateCreated) (THIS_ VARIANT *pvar) PURE;
690   STDMETHOD(get_LastUpdated) (THIS_ VARIANT *pvar) PURE;
691   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
692   STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
693   STDMETHOD(get_ODBCTimeout) (THIS_ short *ps) PURE;
694   STDMETHOD(put_ODBCTimeout) (THIS_ short timeout) PURE;
695   STDMETHOD(get_Type) (THIS_ short *pi) PURE;
696   STDMETHOD(get_SQL) (THIS_ BSTR *pbstr) PURE;
697   STDMETHOD(put_SQL) (THIS_ BSTR bstr) PURE;
698   STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL *pb) PURE;
699   STDMETHOD(get_Connect) (THIS_ BSTR *pbstr) PURE;
700   STDMETHOD(put_Connect) (THIS_ BSTR bstr) PURE;
701   STDMETHOD(get_ReturnsRecords) (THIS_ VARIANT_BOOL *pb) PURE;
702   STDMETHOD(put_ReturnsRecords) (THIS_ VARIANT_BOOL f) PURE;
703   STDMETHOD(get_RecordsAffected) (THIS_ __LONG32 *pl) PURE;
704   STDMETHOD(get_Fields) (THIS_ interface DAOFields **ppflds) PURE;
705   STDMETHOD(get_Parameters) (THIS_ interface DAOParameters **ppprms) PURE;
706   STDMETHOD(Close) (THIS) PURE;
707   STDMETHOD(_30_OpenRecordset) (THIS_ VARIANT Type,VARIANT Options, interface DAORecordset **pprst) PURE;
708   STDMETHOD(_30__OpenRecordset) (THIS_ VARIANT Type,VARIANT Options, interface DAORecordset **pprst) PURE;
709   STDMETHOD(_Copy) (THIS_ DAOQueryDef **ppqdf) PURE;
710   STDMETHOD(Execute) (THIS_ VARIANT Options) PURE;
711   STDMETHOD(Compare) (THIS_ DAOQueryDef *pQdef,SHORT *lps) PURE;
712   STDMETHOD(CreateDynaset) (THIS_ VARIANT Options,VARIANT Inconsistent, interface DAORecordset **pprst) PURE;
713   STDMETHOD(CreateSnapshot) (THIS_ VARIANT Options, interface DAORecordset **pprst) PURE;
714   STDMETHOD(ListParameters) (THIS_ interface DAORecordset **pprst) PURE;
715   STDMETHOD(CreateProperty) (THIS_ VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE;
716   STDMETHOD(OpenRecordset) (THIS_ VARIANT Type,VARIANT Options,VARIANT LockEdit, interface DAORecordset **pprst) PURE;
717   STDMETHOD(_OpenRecordset) (THIS_ VARIANT Type,VARIANT Options,VARIANT LockEdit, interface DAORecordset **pprst) PURE;
718   STDMETHOD(Cancel) (THIS) PURE;
719   STDMETHOD(get_hStmt) (THIS_ LONG *phStmt) PURE;
720   STDMETHOD(get_MaxRecords) (THIS_ LONG *pMxRecs) PURE;
721   STDMETHOD(put_MaxRecords) (THIS_ LONG MxRecs) PURE;
722   STDMETHOD(get_StillExecuting) (THIS_ VARIANT_BOOL *pStillExec) PURE;
723   STDMETHOD(get_CacheSize) (THIS_ __LONG32 *lCacheSize) PURE;
724   STDMETHOD(put_CacheSize) (THIS_ __LONG32 lCacheSize) PURE;
725   STDMETHOD(get_Prepare) (THIS_ VARIANT *pb) PURE;
726   STDMETHOD(put_Prepare) (THIS_ VARIANT f) PURE;
727 };
728 
729 #undef INTERFACE
730 #define INTERFACE DAOQueryDefs
DECLARE_INTERFACE_(DAOQueryDefs,_DAODynaCollection)731 DECLARE_INTERFACE_(DAOQueryDefs,_DAODynaCollection) {
732 #ifndef __cplusplus
733   /* IUnknown methods */
734   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
735   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
736   STDMETHOD_(ULONG, Release)(THIS) PURE;
737   /*** IDispatch methods ***/
738   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
739   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
740   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
741   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
742   /*** _DAOCollection ***/
743   STDMETHOD(get_Count) (THIS_ short *c) PURE;
744   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
745   STDMETHOD(Refresh) (THIS) PURE;
746   /*** _DAODynaCollection ***/
747   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
748   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
749 #endif
750   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOQueryDef **ppqdef) PURE;
751 };
752 
753 #undef INTERFACE
754 #define INTERFACE DAORecordset
DECLARE_INTERFACE_(DAORecordset,_DAO)755 DECLARE_INTERFACE_(DAORecordset,_DAO) {
756 #ifndef __cplusplus
757   /* IUnknown methods */
758   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
759   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
760   STDMETHOD_(ULONG, Release)(THIS) PURE;
761   /*** IDispatch methods ***/
762   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
763   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
764   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
765   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
766   /*** _DAO ***/
767   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
768 #endif
769   STDMETHOD(get_BOF) (THIS_ VARIANT_BOOL *pb) PURE;
770   STDMETHOD(get_Bookmark) (THIS_ SAFEARRAY **ppsach) PURE;
771   STDMETHOD(put_Bookmark) (THIS_ SAFEARRAY **psach) PURE;
772   STDMETHOD(get_Bookmarkable) (THIS_ VARIANT_BOOL *pb) PURE;
773   STDMETHOD(get_DateCreated) (THIS_ VARIANT *pvar) PURE;
774   STDMETHOD(get_EOF) (THIS_ VARIANT_BOOL *pb) PURE;
775   STDMETHOD(get_Filter) (THIS_ BSTR *pbstr) PURE;
776   STDMETHOD(put_Filter) (THIS_ BSTR Filter) PURE;
777   STDMETHOD(get_Index) (THIS_ BSTR *pbstr) PURE;
778   STDMETHOD(put_Index) (THIS_ BSTR bstr) PURE;
779   STDMETHOD(get_LastModified) (THIS_ SAFEARRAY **ppsa) PURE;
780   STDMETHOD(get_LastUpdated) (THIS_ VARIANT *pvar) PURE;
781   STDMETHOD(get_LockEdits) (THIS_ VARIANT_BOOL *pb) PURE;
782   STDMETHOD(put_LockEdits) (THIS_ VARIANT_BOOL Lock) PURE;
783   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
784   STDMETHOD(get_NoMatch) (THIS_ VARIANT_BOOL *pb) PURE;
785   STDMETHOD(get_Sort) (THIS_ BSTR *pbstr) PURE;
786   STDMETHOD(put_Sort) (THIS_ BSTR Sort) PURE;
787   STDMETHOD(get_Transactions) (THIS_ VARIANT_BOOL *pb) PURE;
788   STDMETHOD(get_Type) (THIS_ short *ps) PURE;
789   STDMETHOD(get_RecordCount) (THIS_ __LONG32 *pl) PURE;
790   STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL *pb) PURE;
791   STDMETHOD(get_Restartable) (THIS_ VARIANT_BOOL *pb) PURE;
792   STDMETHOD(get_ValidationText) (THIS_ BSTR *pbstr) PURE;
793   STDMETHOD(get_ValidationRule) (THIS_ BSTR *pbstr) PURE;
794   STDMETHOD(get_CacheStart) (THIS_ SAFEARRAY **ppsa) PURE;
795   STDMETHOD(put_CacheStart) (THIS_ SAFEARRAY **psa) PURE;
796   STDMETHOD(get_CacheSize) (THIS_ __LONG32 *pl) PURE;
797   STDMETHOD(put_CacheSize) (THIS_ __LONG32 CacheSize) PURE;
798   STDMETHOD(get_PercentPosition) (THIS_ float *pd) PURE;
799   STDMETHOD(put_PercentPosition) (THIS_ float Position) PURE;
800   STDMETHOD(get_AbsolutePosition) (THIS_ __LONG32 *pl) PURE;
801   STDMETHOD(put_AbsolutePosition) (THIS_ __LONG32 Position) PURE;
802   STDMETHOD(get_EditMode) (THIS_ short *pi) PURE;
803   STDMETHOD(get_ODBCFetchCount) (THIS_ __LONG32 *pl) PURE;
804   STDMETHOD(get_ODBCFetchDelay) (THIS_ __LONG32 *pl) PURE;
805   STDMETHOD(get_Parent) (THIS_ DAODatabase **pdb) PURE;
806   STDMETHOD(get_Fields) (THIS_ interface DAOFields **ppflds) PURE;
807   STDMETHOD(get_Indexes) (THIS_ interface DAOIndexes **ppidxs) PURE;
808   STDMETHOD(_30_CancelUpdate) (THIS) PURE;
809   STDMETHOD(AddNew) (THIS) PURE;
810   STDMETHOD(Close) (THIS) PURE;
811   STDMETHOD(OpenRecordset) (THIS_ VARIANT Type,VARIANT Options,DAORecordset **pprst) PURE;
812   STDMETHOD(Delete) (THIS) PURE;
813   STDMETHOD(Edit) (THIS) PURE;
814   STDMETHOD(FindFirst) (THIS_ BSTR Criteria) PURE;
815   STDMETHOD(FindLast) (THIS_ BSTR Criteria) PURE;
816   STDMETHOD(FindNext) (THIS_ BSTR Criteria) PURE;
817   STDMETHOD(FindPrevious) (THIS_ BSTR Criteria) PURE;
818   STDMETHOD(MoveFirst) (THIS) PURE;
819   STDMETHOD(_30_MoveLast) (THIS) PURE;
820   STDMETHOD(MoveNext) (THIS) PURE;
821   STDMETHOD(MovePrevious) (THIS) PURE;
822   STDMETHOD(Seek) (THIS_ BSTR Comparison,VARIANT Key1,VARIANT Key2,VARIANT Key3,VARIANT Key4,VARIANT Key5,VARIANT Key6,VARIANT Key7,VARIANT Key8,VARIANT Key9,VARIANT Key10,VARIANT Key11,VARIANT Key12,VARIANT Key13) PURE;
823   STDMETHOD(_30_Update) (THIS) PURE;
824   STDMETHOD(Clone) (THIS_ DAORecordset **pprst) PURE;
825   STDMETHOD(Requery) (THIS_ VARIANT NewQueryDef) PURE;
826   STDMETHOD(Move) (THIS_ __LONG32 Rows,VARIANT StartBookmark) PURE;
827   STDMETHOD(FillCache) (THIS_ VARIANT Rows,VARIANT StartBookmark) PURE;
828   STDMETHOD(CreateDynaset) (THIS_ VARIANT Options,VARIANT Inconsistent,DAORecordset **pprst) PURE;
829   STDMETHOD(CreateSnapshot) (THIS_ VARIANT Options,DAORecordset **pprst) PURE;
830   STDMETHOD(CopyQueryDef) (THIS_ DAOQueryDef **ppqdf) PURE;
831   STDMETHOD(ListFields) (THIS_ DAORecordset **pprst) PURE;
832   STDMETHOD(ListIndexes) (THIS_ DAORecordset **pprst) PURE;
833   STDMETHOD(GetRows) (THIS_ VARIANT NumRows,VARIANT *pvar) PURE;
834   STDMETHOD(get_Collect) (THIS_ VARIANT Item,VARIANT *pvar) PURE;
835   STDMETHOD(put_Collect) (THIS_ VARIANT Item,VARIANT value) PURE;
836   STDMETHOD(Cancel) (THIS) PURE;
837   STDMETHOD(NextRecordset) (THIS_ VARIANT_BOOL *pb) PURE;
838   STDMETHOD(get_hStmt) (THIS_ LONG *phStmt) PURE;
839   STDMETHOD(get_StillExecuting) (THIS_ VARIANT_BOOL *pStillExec) PURE;
840   STDMETHOD(get_BatchSize) (THIS_ __LONG32 *pl) PURE;
841   STDMETHOD(put_BatchSize) (THIS_ __LONG32 BatchSize) PURE;
842   STDMETHOD(get_BatchCollisionCount) (THIS_ __LONG32 *pl) PURE;
843   STDMETHOD(get_BatchCollisions) (THIS_ VARIANT *pvar) PURE;
844   STDMETHOD(get_Connection) (THIS_ DAOConnection **ppCn) PURE;
845   STDMETHOD(putref_Connection) (THIS_ DAOConnection *pNewCn) PURE;
846   STDMETHOD(get_RecordStatus) (THIS_ short *pi) PURE;
847   STDMETHOD(get_UpdateOptions) (THIS_ __LONG32 *pl) PURE;
848   STDMETHOD(put_UpdateOptions) (THIS_ __LONG32 l) PURE;
849   STDMETHOD(CancelUpdate) (THIS_ __LONG32 UpdateType) PURE;
850   STDMETHOD(Update) (THIS_ __LONG32 UpdateType,VARIANT_BOOL Force) PURE;
851   STDMETHOD(MoveLast) (THIS_ __LONG32 Options) PURE;
852 };
853 
854 #undef INTERFACE
855 #define INTERFACE DAORecordsets
DECLARE_INTERFACE_(DAORecordsets,_DAOCollection)856 DECLARE_INTERFACE_(DAORecordsets,_DAOCollection) {
857 #ifndef __cplusplus
858   /* IUnknown methods */
859   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
860   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
861   STDMETHOD_(ULONG, Release)(THIS) PURE;
862   /*** IDispatch methods ***/
863   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
864   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
865   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
866   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
867   /*** _DAOCollection ***/
868   STDMETHOD(get_Count) (THIS_ short *c) PURE;
869   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
870   STDMETHOD(Refresh) (THIS) PURE;
871 #endif
872   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAORecordset **pprst) PURE;
873 };
874 
875 #undef INTERFACE
876 #define INTERFACE _DAOField
DECLARE_INTERFACE_(_DAOField,_DAO)877 DECLARE_INTERFACE_(_DAOField,_DAO) {
878 #ifndef __cplusplus
879   /* IUnknown methods */
880   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
881   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
882   STDMETHOD_(ULONG, Release)(THIS) PURE;
883   /*** IDispatch methods ***/
884   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
885   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
886   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
887   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
888   /*** _DAO ***/
889   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
890 #endif
891   STDMETHOD(get_CollatingOrder) (THIS_ __LONG32 *pl) PURE;
892   STDMETHOD(get_Type) (THIS_ short *ps) PURE;
893   STDMETHOD(put_Type) (THIS_ short Type) PURE;
894   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
895   STDMETHOD(put_Name) (THIS_ BSTR Name) PURE;
896   STDMETHOD(get_Size) (THIS_ __LONG32 *pl) PURE;
897   STDMETHOD(put_Size) (THIS_ __LONG32 Size) PURE;
898   STDMETHOD(get_SourceField) (THIS_ BSTR *pbstr) PURE;
899   STDMETHOD(get_SourceTable) (THIS_ BSTR *pbstr) PURE;
900   STDMETHOD(get_Value) (THIS_ VARIANT *pvar) PURE;
901   STDMETHOD(put_Value) (THIS_ VARIANT Val) PURE;
902   STDMETHOD(get_Attributes) (THIS_ __LONG32 *pl) PURE;
903   STDMETHOD(put_Attributes) (THIS_ __LONG32 Attr) PURE;
904   STDMETHOD(get_OrdinalPosition) (THIS_ short *ps) PURE;
905   STDMETHOD(put_OrdinalPosition) (THIS_ short Pos) PURE;
906   STDMETHOD(get_ValidationText) (THIS_ BSTR *pbstr) PURE;
907   STDMETHOD(put_ValidationText) (THIS_ BSTR bstr) PURE;
908   STDMETHOD(get_ValidateOnSet) (THIS_ VARIANT_BOOL *pb) PURE;
909   STDMETHOD(put_ValidateOnSet) (THIS_ VARIANT_BOOL Validate) PURE;
910   STDMETHOD(get_ValidationRule) (THIS_ BSTR *pbstr) PURE;
911   STDMETHOD(put_ValidationRule) (THIS_ BSTR bstr) PURE;
912   STDMETHOD(get_DefaultValue) (THIS_ VARIANT *pvar) PURE;
913   STDMETHOD(put_DefaultValue) (THIS_ VARIANT var) PURE;
914   STDMETHOD(get_Required) (THIS_ VARIANT_BOOL *pb) PURE;
915   STDMETHOD(put_Required) (THIS_ VARIANT_BOOL fReq) PURE;
916   STDMETHOD(get_AllowZeroLength) (THIS_ VARIANT_BOOL *pb) PURE;
917   STDMETHOD(put_AllowZeroLength) (THIS_ VARIANT_BOOL fAllow) PURE;
918   STDMETHOD(get_DataUpdatable) (THIS_ VARIANT_BOOL *pb) PURE;
919   STDMETHOD(get_ForeignName) (THIS_ BSTR *pbstr) PURE;
920   STDMETHOD(put_ForeignName) (THIS_ BSTR bstr) PURE;
921   STDMETHOD(AppendChunk) (THIS_ VARIANT Val) PURE;
922   STDMETHOD(GetChunk) (THIS_ __LONG32 Offset,__LONG32 Bytes,VARIANT *pvar) PURE;
923   STDMETHOD(_30_FieldSize) (THIS_ __LONG32 *pl) PURE;
924   STDMETHOD(CreateProperty) (THIS_ VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE;
925   STDMETHOD(get_CollectionIndex) (THIS_ short *i) PURE;
926   STDMETHOD(get_OriginalValue) (THIS_ VARIANT *pvar) PURE;
927   STDMETHOD(get_VisibleValue) (THIS_ VARIANT *pvar) PURE;
928   STDMETHOD(get_FieldSize) (THIS_ __LONG32 *pl) PURE;
929 };
930 
931 #undef INTERFACE
932 #define INTERFACE DAOFields
DECLARE_INTERFACE_(DAOFields,_DAODynaCollection)933 DECLARE_INTERFACE_(DAOFields,_DAODynaCollection) {
934 #ifndef __cplusplus
935   /* IUnknown methods */
936   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
937   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
938   STDMETHOD_(ULONG, Release)(THIS) PURE;
939   /*** IDispatch methods ***/
940   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
941   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
942   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
943   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
944   /*** _DAOCollection ***/
945   STDMETHOD(get_Count) (THIS_ short *c) PURE;
946   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
947   STDMETHOD(Refresh) (THIS) PURE;
948   /*** _DAODynaCollection ***/
949   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
950   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
951 #endif
952   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOField **ppfld) PURE;
953 };
954 
955 #undef INTERFACE
956 #define INTERFACE _DAOIndex
DECLARE_INTERFACE_(_DAOIndex,_DAO)957 DECLARE_INTERFACE_(_DAOIndex,_DAO) {
958 #ifndef __cplusplus
959   /* IUnknown methods */
960   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
961   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
962   STDMETHOD_(ULONG, Release)(THIS) PURE;
963   /*** IDispatch methods ***/
964   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
965   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
966   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
967   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
968   /*** _DAO ***/
969   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
970 #endif
971   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
972   STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
973   STDMETHOD(get_Foreign) (THIS_ VARIANT_BOOL *pb) PURE;
974   STDMETHOD(get_Unique) (THIS_ VARIANT_BOOL *pb) PURE;
975   STDMETHOD(put_Unique) (THIS_ VARIANT_BOOL fUnique) PURE;
976   STDMETHOD(get_Clustered) (THIS_ VARIANT_BOOL *pb) PURE;
977   STDMETHOD(put_Clustered) (THIS_ VARIANT_BOOL fClustered) PURE;
978   STDMETHOD(get_Required) (THIS_ VARIANT_BOOL *pb) PURE;
979   STDMETHOD(put_Required) (THIS_ VARIANT_BOOL fRequired) PURE;
980   STDMETHOD(get_IgnoreNulls) (THIS_ VARIANT_BOOL *pb) PURE;
981   STDMETHOD(put_IgnoreNulls) (THIS_ VARIANT_BOOL fIgnoreNulls) PURE;
982   STDMETHOD(get_Primary) (THIS_ VARIANT_BOOL *pb) PURE;
983   STDMETHOD(put_Primary) (THIS_ VARIANT_BOOL fPrimary) PURE;
984   STDMETHOD(get_DistinctCount) (THIS_ __LONG32 *pl) PURE;
985   STDMETHOD(get_Fields) (THIS_ VARIANT *pv) PURE;
986   STDMETHOD(put_Fields) (THIS_ VARIANT v) PURE;
987   STDMETHOD(CreateField) (THIS_ VARIANT Name,VARIANT Type,VARIANT Size,DAOField **ppfld) PURE;
988   STDMETHOD(CreateProperty) (THIS_ VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE;
989 };
990 
991 #undef INTERFACE
992 #define INTERFACE DAOIndexes
DECLARE_INTERFACE_(DAOIndexes,_DAODynaCollection)993 DECLARE_INTERFACE_(DAOIndexes,_DAODynaCollection) {
994 #ifndef __cplusplus
995   /* IUnknown methods */
996   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
997   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
998   STDMETHOD_(ULONG, Release)(THIS) PURE;
999   /*** IDispatch methods ***/
1000   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1001   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1002   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1003   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1004   /*** _DAOCollection ***/
1005   STDMETHOD(get_Count) (THIS_ short *c) PURE;
1006   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
1007   STDMETHOD(Refresh) (THIS) PURE;
1008   /*** _DAODynaCollection ***/
1009   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
1010   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
1011 #endif
1012   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOIndex **ppidx) PURE;
1013 };
1014 
1015 #undef INTERFACE
1016 #define INTERFACE DAOParameter
DECLARE_INTERFACE_(DAOParameter,_DAO)1017 DECLARE_INTERFACE_(DAOParameter,_DAO) {
1018 #ifndef __cplusplus
1019   /* IUnknown methods */
1020   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1021   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1022   STDMETHOD_(ULONG, Release)(THIS) PURE;
1023   /*** IDispatch methods ***/
1024   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1025   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1026   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1027   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1028   /*** _DAO ***/
1029   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
1030 #endif
1031   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
1032   STDMETHOD(get_Value) (THIS_ VARIANT *pvar) PURE;
1033   STDMETHOD(put_Value) (THIS_ VARIANT val) PURE;
1034   STDMETHOD(get_Type) (THIS_ short *ps) PURE;
1035   STDMETHOD(put_Type) (THIS_ short s) PURE;
1036   STDMETHOD(get_Direction) (THIS_ short *pOption) PURE;
1037   STDMETHOD(put_Direction) (THIS_ short Option) PURE;
1038 };
1039 
1040 #undef INTERFACE
1041 #define INTERFACE DAOParameters
DECLARE_INTERFACE_(DAOParameters,_DAOCollection)1042 DECLARE_INTERFACE_(DAOParameters,_DAOCollection) {
1043 #ifndef __cplusplus
1044   /* IUnknown methods */
1045   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1046   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1047   STDMETHOD_(ULONG, Release)(THIS) PURE;
1048   /*** IDispatch methods ***/
1049   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1050   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1051   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1052   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1053   /*** _DAOCollection ***/
1054   STDMETHOD(get_Count) (THIS_ short *c) PURE;
1055   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
1056   STDMETHOD(Refresh) (THIS) PURE;
1057 #endif
1058   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOParameter **ppprm) PURE;
1059 };
1060 
1061 #undef INTERFACE
1062 #define INTERFACE _DAOUser
DECLARE_INTERFACE_(_DAOUser,_DAO)1063 DECLARE_INTERFACE_(_DAOUser,_DAO) {
1064 #ifndef __cplusplus
1065   /* IUnknown methods */
1066   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1067   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1068   STDMETHOD_(ULONG, Release)(THIS) PURE;
1069   /*** IDispatch methods ***/
1070   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1071   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1072   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1073   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1074   /*** _DAO ***/
1075   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
1076 #endif
1077   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
1078   STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
1079   STDMETHOD(put_PID) (THIS_ BSTR bstr) PURE;
1080   STDMETHOD(put_Password) (THIS_ BSTR bstr) PURE;
1081   STDMETHOD(get_Groups) (THIS_ interface DAOGroups **ppgrps) PURE;
1082   STDMETHOD(NewPassword) (THIS_ BSTR bstrOld,BSTR bstrNew) PURE;
1083   STDMETHOD(CreateGroup) (THIS_ VARIANT Name,VARIANT PID, interface DAOGroup **ppgrp) PURE;
1084 };
1085 
1086 #undef INTERFACE
1087 #define INTERFACE DAOUsers
DECLARE_INTERFACE_(DAOUsers,_DAODynaCollection)1088 DECLARE_INTERFACE_(DAOUsers,_DAODynaCollection) {
1089 #ifndef __cplusplus
1090   /* IUnknown methods */
1091   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1092   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1093   STDMETHOD_(ULONG, Release)(THIS) PURE;
1094   /*** IDispatch methods ***/
1095   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1096   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1097   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1098   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1099   /*** _DAOCollection ***/
1100   STDMETHOD(get_Count) (THIS_ short *c) PURE;
1101   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
1102   STDMETHOD(Refresh) (THIS) PURE;
1103   /*** _DAODynaCollection ***/
1104   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
1105   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
1106 #endif
1107   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOUser **ppusr) PURE;
1108 };
1109 
1110 #undef INTERFACE
1111 #define INTERFACE _DAOGroup
DECLARE_INTERFACE_(_DAOGroup,_DAO)1112 DECLARE_INTERFACE_(_DAOGroup,_DAO) {
1113 #ifndef __cplusplus
1114   /* IUnknown methods */
1115   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1116   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1117   STDMETHOD_(ULONG, Release)(THIS) PURE;
1118   /*** IDispatch methods ***/
1119   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1120   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1121   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1122   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1123   /*** _DAO ***/
1124   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
1125 #endif
1126   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
1127   STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
1128   STDMETHOD(put_PID) (THIS_ BSTR bstr) PURE;
1129   STDMETHOD(get_Users) (THIS_ DAOUsers **ppusrs) PURE;
1130   STDMETHOD(CreateUser) (THIS_ VARIANT Name,VARIANT PID,VARIANT Password,DAOUser **ppusr) PURE;
1131 };
1132 
1133 #undef INTERFACE
1134 #define INTERFACE DAOGroups
DECLARE_INTERFACE_(DAOGroups,_DAODynaCollection)1135 DECLARE_INTERFACE_(DAOGroups,_DAODynaCollection) {
1136 #ifndef __cplusplus
1137   /* IUnknown methods */
1138   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1139   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1140   STDMETHOD_(ULONG, Release)(THIS) PURE;
1141   /*** IDispatch methods ***/
1142   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1143   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1144   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1145   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1146   /*** _DAOCollection ***/
1147   STDMETHOD(get_Count) (THIS_ short *c) PURE;
1148   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
1149   STDMETHOD(Refresh) (THIS) PURE;
1150   /*** _DAODynaCollection ***/
1151   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
1152   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
1153 #endif
1154   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOGroup **ppgrp) PURE;
1155 };
1156 
1157 #undef INTERFACE
1158 #define INTERFACE _DAORelation
DECLARE_INTERFACE_(_DAORelation,_DAO)1159 DECLARE_INTERFACE_(_DAORelation,_DAO) {
1160 #ifndef __cplusplus
1161   /* IUnknown methods */
1162   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1163   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1164   STDMETHOD_(ULONG, Release)(THIS) PURE;
1165   /*** IDispatch methods ***/
1166   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1167   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1168   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1169   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1170   /*** _DAO ***/
1171   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
1172 #endif
1173   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
1174   STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
1175   STDMETHOD(get_Table) (THIS_ BSTR *pbstr) PURE;
1176   STDMETHOD(put_Table) (THIS_ BSTR bstr) PURE;
1177   STDMETHOD(get_ForeignTable) (THIS_ BSTR *pbstr) PURE;
1178   STDMETHOD(put_ForeignTable) (THIS_ BSTR bstr) PURE;
1179   STDMETHOD(get_Attributes) (THIS_ __LONG32 *pl) PURE;
1180   STDMETHOD(put_Attributes) (THIS_ __LONG32 attr) PURE;
1181   STDMETHOD(get_Fields) (THIS_ DAOFields **ppflds) PURE;
1182   STDMETHOD(CreateField) (THIS_ VARIANT Name,VARIANT Type,VARIANT Size,DAOField **ppfld) PURE;
1183   STDMETHOD(get_PartialReplica) (THIS_ VARIANT_BOOL *pfPartialReplica) PURE;
1184   STDMETHOD(put_PartialReplica) (THIS_ VARIANT_BOOL fPartialReplica) PURE;
1185 };
1186 
1187 #undef INTERFACE
1188 #define INTERFACE DAORelations
DECLARE_INTERFACE_(DAORelations,_DAODynaCollection)1189 DECLARE_INTERFACE_(DAORelations,_DAODynaCollection) {
1190 #ifndef __cplusplus
1191   /* IUnknown methods */
1192   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1193   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1194   STDMETHOD_(ULONG, Release)(THIS) PURE;
1195   /*** IDispatch methods ***/
1196   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1197   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1198   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1199   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1200   /*** _DAOCollection ***/
1201   STDMETHOD(get_Count) (THIS_ short *c) PURE;
1202   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
1203   STDMETHOD(Refresh) (THIS) PURE;
1204   /*** _DAODynaCollection ***/
1205   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
1206   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
1207 #endif
1208   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAORelation **pprel) PURE;
1209 };
1210 
1211 #undef INTERFACE
1212 #define INTERFACE DAOContainer
DECLARE_INTERFACE_(DAOContainer,_DAO)1213 DECLARE_INTERFACE_(DAOContainer,_DAO) {
1214 #ifndef __cplusplus
1215   /* IUnknown methods */
1216   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1217   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1218   STDMETHOD_(ULONG, Release)(THIS) PURE;
1219   /*** IDispatch methods ***/
1220   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1221   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1222   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1223   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1224   /*** _DAO ***/
1225   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
1226 #endif
1227   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
1228   STDMETHOD(get_Owner) (THIS_ BSTR *pbstr) PURE;
1229   STDMETHOD(put_Owner) (THIS_ BSTR bstr) PURE;
1230   STDMETHOD(get_UserName) (THIS_ BSTR *pbstr) PURE;
1231   STDMETHOD(put_UserName) (THIS_ BSTR bstr) PURE;
1232   STDMETHOD(get_Permissions) (THIS_ __LONG32 *pl) PURE;
1233   STDMETHOD(put_Permissions) (THIS_ __LONG32 permissions) PURE;
1234   STDMETHOD(get_Inherit) (THIS_ VARIANT_BOOL *pb) PURE;
1235   STDMETHOD(put_Inherit) (THIS_ VARIANT_BOOL fInherit) PURE;
1236   STDMETHOD(get_Documents) (THIS_ struct DAODocuments **ppdocs) PURE;
1237   STDMETHOD(get_AllPermissions) (THIS_ __LONG32 *pl) PURE;
1238 };
1239 
1240 #undef INTERFACE
1241 #define INTERFACE DAOContainers
DECLARE_INTERFACE_(DAOContainers,_DAOCollection)1242 DECLARE_INTERFACE_(DAOContainers,_DAOCollection) {
1243 #ifndef __cplusplus
1244   /* IUnknown methods */
1245   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1246   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1247   STDMETHOD_(ULONG, Release)(THIS) PURE;
1248   /*** IDispatch methods ***/
1249   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1250   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1251   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1252   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1253   /*** _DAOCollection ***/
1254   STDMETHOD(get_Count) (THIS_ short *c) PURE;
1255   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
1256   STDMETHOD(Refresh) (THIS) PURE;
1257 #endif
1258   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAOContainer **ppctn) PURE;
1259 };
1260 
1261 #undef INTERFACE
1262 #define INTERFACE DAODocument
DECLARE_INTERFACE_(DAODocument,_DAO)1263 DECLARE_INTERFACE_(DAODocument,_DAO) {
1264 #ifndef __cplusplus
1265   /* IUnknown methods */
1266   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1267   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1268   STDMETHOD_(ULONG, Release)(THIS) PURE;
1269   /*** IDispatch methods ***/
1270   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1271   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1272   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1273   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1274   /*** _DAO ***/
1275   STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE;
1276 #endif
1277   STDMETHOD(get_Name) (THIS_ BSTR *pbstr) PURE;
1278   STDMETHOD(get_Owner) (THIS_ BSTR *pbstr) PURE;
1279   STDMETHOD(put_Owner) (THIS_ BSTR bstr) PURE;
1280   STDMETHOD(get_Container) (THIS_ BSTR *pbstr) PURE;
1281   STDMETHOD(get_UserName) (THIS_ BSTR *pbstr) PURE;
1282   STDMETHOD(put_UserName) (THIS_ BSTR bstr) PURE;
1283   STDMETHOD(get_Permissions) (THIS_ __LONG32 *pl) PURE;
1284   STDMETHOD(put_Permissions) (THIS_ __LONG32 permissions) PURE;
1285   STDMETHOD(get_DateCreated) (THIS_ VARIANT *pvar) PURE;
1286   STDMETHOD(get_LastUpdated) (THIS_ VARIANT *pvar) PURE;
1287   STDMETHOD(get_AllPermissions) (THIS_ __LONG32 *pl) PURE;
1288   STDMETHOD(CreateProperty) (THIS_ VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE;
1289 };
1290 
1291 #undef INTERFACE
1292 #define INTERFACE DAODocuments
DECLARE_INTERFACE_(DAODocuments,_DAOCollection)1293 DECLARE_INTERFACE_(DAODocuments,_DAOCollection) {
1294 #ifndef __cplusplus
1295   /* IUnknown methods */
1296   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1297   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1298   STDMETHOD_(ULONG, Release)(THIS) PURE;
1299   /*** IDispatch methods ***/
1300   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1301   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1302   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1303   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1304   /*** _DAOCollection ***/
1305   STDMETHOD(get_Count) (THIS_ short *c) PURE;
1306   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
1307   STDMETHOD(Refresh) (THIS) PURE;
1308 #endif
1309   STDMETHOD(get_Item) (THIS_ VARIANT Item,DAODocument **ppdoc) PURE;
1310 };
1311 
1312 #undef INTERFACE
1313 #define INTERFACE DAOIndexFields
DECLARE_INTERFACE_(DAOIndexFields,_DAODynaCollection)1314 DECLARE_INTERFACE_(DAOIndexFields,_DAODynaCollection) {
1315 #ifndef __cplusplus
1316   /* IUnknown methods */
1317   STDMETHOD(QueryInterface)(THIS_ REFIID riid, void **ppvObject) PURE;
1318   STDMETHOD_(ULONG, AddRef)(THIS) PURE;
1319   STDMETHOD_(ULONG, Release)(THIS) PURE;
1320   /*** IDispatch methods ***/
1321   STDMETHOD(GetTypeInfoCount)(THIS_ UINT *pctinfo);
1322   STDMETHOD(GetTypeInfo)(THIS_ UINT iTInfo, LCID lcid, ITypeInfo **ppTInfo);
1323   STDMETHOD(GetIDsOfNames)(THIS_ REFIID riid, LPOLESTR *rgszNames, UINT cNames, LCID lcid, DISPID *rgDispId);
1324   STDMETHOD(Invoke)(THIS_ DISPID dispIdMember, REFIID riid, LCID lcid, WORD wFlags, DISPPARAMS *pDispParams, VARIANT *pVarResult, EXCEPINFO *pExcepInfo, UINT *puArgErr);
1325   /*** _DAOCollection ***/
1326   STDMETHOD(get_Count) (THIS_ short *c) PURE;
1327   STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE;
1328   STDMETHOD(Refresh) (THIS) PURE;
1329   /*** _DAODynaCollection ***/
1330   STDMETHOD(Append) (THIS_ IDispatch *Object) PURE;
1331   STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
1332 #endif
1333   STDMETHOD(get_Item) (THIS_ VARIANT Item,VARIANT *pvar) PURE;
1334 };
1335 #endif
1336