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
11struct _DAODBEngine;
12#define DAODBEngine _DAODBEngine
13struct DAOError;
14struct _DAOCollection;
15#define DAOCollection _DAOCollection
16struct DAOErrors;
17struct DAOProperty;
18struct _DAODynaCollection;
19#define DAODynaCollection _DAODynaCollection
20struct DAOProperties;
21struct DAOWorkspace;
22struct DAOWorkspaces;
23struct DAOConnection;
24struct DAOConnections;
25struct DAODatabase;
26struct DAODatabases;
27struct _DAOTableDef;
28#define DAOTableDef _DAOTableDef
29struct DAOTableDefs;
30struct _DAOQueryDef;
31#define DAOQueryDef _DAOQueryDef
32struct DAOQueryDefs;
33struct DAORecordset;
34struct DAORecordsets;
35struct _DAOField;
36#define DAOField _DAOField
37struct DAOFields;
38struct _DAOIndex;
39#define DAOIndex _DAOIndex
40struct DAOIndexes;
41struct DAOParameter;
42struct DAOParameters;
43struct _DAOUser;
44#define DAOUser _DAOUser
45struct DAOUsers;
46struct _DAOGroup;
47#define DAOGroup _DAOGroup
48struct DAOGroups;
49struct _DAORelation;
50#define DAORelation _DAORelation
51struct DAORelations;
52struct DAOContainer;
53struct DAOContainers;
54struct DAODocument;
55struct DAODocuments;
56struct DAOIndexFields;
57
58typedef enum RecordsetTypeEnum {
59  dbOpenTable = 1,dbOpenDynaset = 2,dbOpenSnapshot = 4,dbOpenForwardOnly = 8,dbOpenDynamic = 16
60} RecordsetTypeEnum;
61
62typedef enum EditModeEnum {
63  dbEditNone = 0,dbEditInProgress = 1,dbEditAdd = 2,dbEditChanged = 4,dbEditDeleted = 8,dbEditNew = 16
64} EditModeEnum;
65
66typedef 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
71typedef enum LockTypeEnum {
72  dbPessimistic = 0x2,dbOptimistic = 0x3,dbOptimisticValue = 0x1,dbOptimisticBatch = 0x5
73} LockTypeEnum;
74
75typedef enum UpdateCriteriaEnum {
76  dbCriteriaKey = 0x1,dbCriteriaModValues = 0x2,dbCriteriaAllCols = 0x4,dbCriteriaTimestamp = 0x8,dbCriteriaDeleteInsert = 0x10,
77  dbCriteriaUpdate = 0x20
78} UpdateCriteriaEnum;
79
80typedef enum FieldAttributeEnum {
81  dbFixedField = 0x1,dbVariableField = 0x2,dbAutoIncrField = 0x10,dbUpdatableField = 0x20,dbSystemField = 0x2000,dbHyperlinkField = 0x8000,
82  dbDescending = 0x1
83} FieldAttributeEnum;
84
85typedef 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
91typedef enum RelationAttributeEnum {
92  dbRelationUnique = 0x1,dbRelationDontEnforce = 0x2,dbRelationInherited = 0x4,dbRelationUpdateCascade = 0x100,dbRelationDeleteCascade = 0x1000,
93  dbRelationLeft = 0x1000000,dbRelationRight = 0x2000000
94} RelationAttributeEnum;
95
96typedef enum TableDefAttributeEnum {
97  dbAttachExclusive = 0x10000,dbAttachSavePWD = 0x20000,dbSystemObject = 0x80000002,dbAttachedTable = 0x40000000,dbAttachedODBC = 0x20000000,
98  dbHiddenObject = 0x1
99} TableDefAttributeEnum;
100
101typedef 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
106typedef enum QueryDefStateEnum {
107  dbQPrepare = 1,dbQUnprepare = 2
108} QueryDefStateEnum;
109
110typedef enum DatabaseTypeEnum {
111  dbVersion10 = 1,dbEncrypt = 2,dbDecrypt = 4,dbVersion11 = 8,dbVersion20 = 16,dbVersion30 = 32,dbVersion40 = 64
112} DatabaseTypeEnum;
113
114typedef 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
122typedef enum IdleEnum {
123  dbFreeLocks = 1,dbRefreshCache = 8
124} IdleEnum;
125
126typedef 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
132typedef enum SynchronizeTypeEnum {
133  dbRepExportChanges = 0x1,dbRepImportChanges = 0x2,dbRepImpExpChanges = 0x4,dbRepSyncInternet = 0x10
134} SynchronizeTypeEnum;
135
136typedef enum ReplicaTypeEnum {
137  dbRepMakeReadOnly = 0x2,dbRepMakePartial = 0x1
138} ReplicaTypeEnum;
139
140typedef enum WorkspaceTypeEnum {
141  dbUseODBC = 1,dbUseJet = 2
142} WorkspaceTypeEnum;
143
144typedef enum CursorDriverEnum {
145  dbUseDefaultCursor = -1,dbUseODBCCursor = 1,dbUseServerCursor = 2,dbUseClientBatchCursor = 3,dbUseNoCursor = 4
146} CursorDriverEnum;
147
148typedef enum DriverPromptEnum {
149  dbDriverPrompt = 2,dbDriverNoPrompt = 1,dbDriverComplete = 0,dbDriverCompleteRequired = 3
150} DriverPromptEnum;
151
152typedef 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
157typedef enum ParameterDirectionEnum {
158  dbParamInput = 1,dbParamOutput = 2,dbParamInputOutput = 3,dbParamReturnValue = 4
159} ParameterDirectionEnum;
160
161typedef enum UpdateTypeEnum {
162  dbUpdateBatch = 4,dbUpdateRegular = 1,dbUpdateCurrentRecord = 2
163} UpdateTypeEnum;
164
165typedef enum RecordStatusEnum {
166  dbRecordUnmodified = 0,dbRecordModified = 1,dbRecordNew = 2,dbRecordDeleted = 3,dbRecordDBDeleted = 4
167} RecordStatusEnum;
168
169typedef enum CommitTransOptionsEnum {
170  dbForceOSFlush = 1
171} CommitTransOptionsEnum;
172
173typedef 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
201DECLARE_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
221DECLARE_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
244DECLARE_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
262DECLARE_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
312DECLARE_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
334DECLARE_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
355DECLARE_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
380DECLARE_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
404DECLARE_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
448DECLARE_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
472DECLARE_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
505DECLARE_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
526DECLARE_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
586DECLARE_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
607DECLARE_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
651DECLARE_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
675DECLARE_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
731DECLARE_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
755DECLARE_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
856DECLARE_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
877DECLARE_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
933DECLARE_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
957DECLARE_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
993DECLARE_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
1017DECLARE_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
1042DECLARE_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
1063DECLARE_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
1088DECLARE_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
1112DECLARE_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
1135DECLARE_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
1159DECLARE_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
1189DECLARE_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
1213DECLARE_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
1242DECLARE_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
1263DECLARE_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
1293DECLARE_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
1314DECLARE_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