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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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