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 STDMETHOD(get_Count) (THIS_ short *c) PURE; 203 STDMETHOD(_NewEnum) (THIS_ IUnknown **ppunk) PURE; 204 STDMETHOD(Refresh) (THIS) PURE; 205 }; 206 207 #undef INTERFACE 208 #define INTERFACE _DAODynaCollection 209 DECLARE_INTERFACE_(_DAODynaCollection,_DAOCollection) { 210 STDMETHOD(Append) (THIS_ IDispatch *Object) PURE; 211 STDMETHOD(Delete) (THIS_ BSTR Name) PURE; 212 }; 213 214 #undef INTERFACE 215 #define INTERFACE _DAO 216 DECLARE_INTERFACE_(_DAO,IDispatch) { 217 STDMETHOD(get_Properties) (THIS_ DAOProperties **ppprops) PURE; 218 }; 219 220 #undef INTERFACE 221 #define INTERFACE _DAODBEngine 222 DECLARE_INTERFACE_(_DAODBEngine,_DAO) { 223 STDMETHOD(get_Properties) (DAOProperties **ppprops); 224 STDMETHOD(get_Version) (BSTR *pbstr) PURE; 225 STDMETHOD(get_IniPath) (BSTR *pbstr) PURE; 226 STDMETHOD(put_IniPath) (BSTR path) PURE; 227 STDMETHOD(put_DefaultUser) (BSTR user) PURE; 228 STDMETHOD(put_DefaultPassword) (BSTR pw) PURE; 229 STDMETHOD(get_LoginTimeout) (short *ps) PURE; 230 STDMETHOD(put_LoginTimeout) (short Timeout) PURE; 231 STDMETHOD(get_Workspaces) (DAOWorkspaces **ppworks) PURE; 232 STDMETHOD(get_Errors) (DAOErrors **pperrs) PURE; 233 STDMETHOD(Idle) (VARIANT Action) PURE; 234 STDMETHOD(CompactDatabase) (BSTR SrcName,BSTR DstName,VARIANT DstLocale,VARIANT Options,VARIANT SrcLocale) PURE; 235 STDMETHOD(RepairDatabase) (BSTR Name) PURE; 236 STDMETHOD(RegisterDatabase) (BSTR Dsn,BSTR Driver,VARIANT_BOOL Silent,BSTR Attributes) PURE; 237 STDMETHOD(_30_CreateWorkspace) (BSTR Name,BSTR UserName,BSTR Password,DAOWorkspace **ppwrk) PURE; 238 STDMETHOD(OpenDatabase) (BSTR Name,VARIANT Options,VARIANT ReadOnly,VARIANT Connect,DAODatabase **ppdb) PURE; 239 STDMETHOD(CreateDatabase) (BSTR Name,BSTR Locale,VARIANT Option,DAODatabase **ppdb) PURE; 240 STDMETHOD(FreeLocks) (VOID) PURE; 241 STDMETHOD(BeginTrans) (VOID) PURE; 242 STDMETHOD(CommitTrans) (__LONG32 Option) PURE; 243 STDMETHOD(Rollback) (VOID) PURE; 244 STDMETHOD(SetDefaultWorkspace) (BSTR Name,BSTR Password) PURE; 245 STDMETHOD(SetDataAccessOption) (short Option,VARIANT Value) PURE; 246 STDMETHOD(ISAMStats) (__LONG32 StatNum,VARIANT Reset,__LONG32 *pl) PURE; 247 STDMETHOD(get_SystemDB) (BSTR *pbstr) PURE; 248 STDMETHOD(put_SystemDB) (BSTR SystemDBPath) PURE; 249 STDMETHOD(CreateWorkspace) (BSTR Name,BSTR UserName,BSTR Password,VARIANT UseType,DAOWorkspace **ppwrk) PURE; 250 STDMETHOD(OpenConnection) (BSTR Name,VARIANT Options,VARIANT ReadOnly,VARIANT Connect,DAOConnection **ppconn) PURE; 251 STDMETHOD(get_DefaultType) (__LONG32 *Option) PURE; 252 STDMETHOD(put_DefaultType) (__LONG32 Option) PURE; 253 STDMETHOD(SetOption) (LONG Option,VARIANT Value) PURE; 254 STDMETHOD(DumpObjects) (BSTR *pbstr) PURE; 255 STDMETHOD(DebugPrint) (BSTR bstr) PURE; 256 }; 257 258 #undef INTERFACE 259 #define INTERFACE DAOError 260 DECLARE_INTERFACE_(DAOError,IDispatch) { 261 STDMETHOD(get_Number) (__LONG32 *pl) PURE; 262 STDMETHOD(get_Source) (BSTR *pbstr) PURE; 263 STDMETHOD(get_Description) (BSTR *pbstr) PURE; 264 STDMETHOD(get_HelpFile) (BSTR *pbstr) PURE; 265 STDMETHOD(get_HelpContext) (__LONG32 *pl) PURE; 266 }; 267 268 #undef INTERFACE 269 #define INTERFACE DAOErrors 270 DECLARE_INTERFACE_(DAOErrors,_DAOCollection) { 271 STDMETHOD(get_Item) (VARIANT Item,DAOError **pperr) PURE; 272 }; 273 274 #undef INTERFACE 275 #define INTERFACE DAOProperty 276 DECLARE_INTERFACE_(DAOProperty,_DAO) { 277 STDMETHOD(get_Value) (VARIANT *pval) PURE; 278 STDMETHOD(put_Value) (VARIANT val) PURE; 279 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 280 STDMETHOD(put_Name) (BSTR bstr) PURE; 281 STDMETHOD(get_Type) (short *ptype) PURE; 282 STDMETHOD(put_Type) (short type) PURE; 283 STDMETHOD(get_Inherited) (VARIANT_BOOL *pb) PURE; 284 }; 285 286 #undef INTERFACE 287 #define INTERFACE DAOProperties 288 DECLARE_INTERFACE_(DAOProperties,_DAODynaCollection) { 289 STDMETHOD(get_Item) (VARIANT Item,DAOProperty **ppprop) PURE; 290 }; 291 292 #undef INTERFACE 293 #define INTERFACE DAOWorkspace 294 DECLARE_INTERFACE_(DAOWorkspace,_DAO) { 295 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 296 STDMETHOD(put_Name) (BSTR Name) PURE; 297 STDMETHOD(get_UserName) (BSTR *pbstr) PURE; 298 STDMETHOD(put__30_UserName) (BSTR UserName) PURE; 299 STDMETHOD(put__30_Password) (BSTR Password) PURE; 300 STDMETHOD(get_IsolateODBCTrans) (short *ps) PURE; 301 STDMETHOD(put_IsolateODBCTrans) (short s) PURE; 302 STDMETHOD(get_Databases) (DAODatabases **ppdbs) PURE; 303 STDMETHOD(get_Users) (DAOUsers **ppusrs) PURE; 304 STDMETHOD(get_Groups) (DAOGroups **ppgrps) PURE; 305 STDMETHOD(BeginTrans) (VOID) PURE; 306 STDMETHOD(CommitTrans) (__LONG32 Options) PURE; 307 STDMETHOD(Close) (VOID) PURE; 308 STDMETHOD(Rollback) (VOID) PURE; 309 STDMETHOD(OpenDatabase) (BSTR Name,VARIANT Options,VARIANT ReadOnly,VARIANT Connect,DAODatabase **ppdb) PURE; 310 STDMETHOD(CreateDatabase) (BSTR Name,BSTR Connect,VARIANT Option,DAODatabase **ppdb) PURE; 311 STDMETHOD(CreateUser) (VARIANT Name,VARIANT PID,VARIANT Password,DAOUser **ppusr) PURE; 312 STDMETHOD(CreateGroup) (VARIANT Name,VARIANT PID,DAOGroup **ppgrp) PURE; 313 STDMETHOD(OpenConnection) (BSTR Name,VARIANT Options,VARIANT ReadOnly,VARIANT Connect,DAOConnection **ppconn) PURE; 314 STDMETHOD(get_LoginTimeout) (__LONG32 *pTimeout) PURE; 315 STDMETHOD(put_LoginTimeout) (__LONG32 Timeout) PURE; 316 STDMETHOD(get_DefaultCursorDriver) (__LONG32 *pCursorType) PURE; 317 STDMETHOD(put_DefaultCursorDriver) (__LONG32 CursorType) PURE; 318 STDMETHOD(get_hEnv) (LONG *phEnv) PURE; 319 STDMETHOD(get_Type) (LONG *ptype) PURE; 320 STDMETHOD(get_Connections) (DAOConnections **ppcns) PURE; 321 }; 322 323 #undef INTERFACE 324 #define INTERFACE DAOWorkspaces 325 DECLARE_INTERFACE_(DAOWorkspaces,_DAODynaCollection) { 326 STDMETHOD(get_Item) (VARIANT Item,DAOWorkspace **ppwrk) PURE; 327 }; 328 329 #undef INTERFACE 330 #define INTERFACE DAOConnection 331 DECLARE_INTERFACE_(DAOConnection,IDispatch) { 332 STDMETHOD(QueryInterface) (REFIID riid,LPVOID *ppvObj); 333 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 334 STDMETHOD(get_Connect) (BSTR *pbstr) PURE; 335 STDMETHOD(get_Database) (DAODatabase **ppDb) PURE; 336 STDMETHOD(get_hDbc) (LONG *phDbc) PURE; 337 STDMETHOD(get_QueryTimeout) (SHORT *pSeconds) PURE; 338 STDMETHOD(put_QueryTimeout) (SHORT Seconds) PURE; 339 STDMETHOD(get_Transactions) (VARIANT_BOOL *pb) PURE; 340 STDMETHOD(get_RecordsAffected) (LONG *pRecords) PURE; 341 STDMETHOD(get_StillExecuting) (VARIANT_BOOL *pStillExec) PURE; 342 STDMETHOD(get_Updatable) (VARIANT_BOOL *pStillExec) PURE; 343 STDMETHOD(get_QueryDefs) (DAOQueryDefs **ppqdfs) PURE; 344 STDMETHOD(get_Recordsets) (DAORecordsets **pprsts) PURE; 345 STDMETHOD(Cancel) (VOID) PURE; 346 STDMETHOD(Close) (VOID) PURE; 347 STDMETHOD(CreateQueryDef) (VARIANT Name,VARIANT SQLText,DAOQueryDef **ppqdf) PURE; 348 STDMETHOD(Execute) (BSTR Query,VARIANT Options) PURE; 349 STDMETHOD(OpenRecordset) (BSTR Name,VARIANT Type,VARIANT Options,VARIANT LockEdit,DAORecordset **pprst) PURE; 350 }; 351 352 #undef INTERFACE 353 #define INTERFACE DAOConnections 354 DECLARE_INTERFACE_(DAOConnections,_DAOCollection) { 355 STDMETHOD(get_Item) (VARIANT Item,DAOConnection **ppconn) PURE; 356 }; 357 358 #undef INTERFACE 359 #define INTERFACE DAODatabase 360 DECLARE_INTERFACE_(DAODatabase,_DAO) { 361 STDMETHOD(get_CollatingOrder) (LONG *pl) PURE; 362 STDMETHOD(get_Connect) (BSTR *pbstr) PURE; 363 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 364 STDMETHOD(get_QueryTimeout) (short *ps) PURE; 365 STDMETHOD(put_QueryTimeout) (short Timeout) PURE; 366 STDMETHOD(get_Transactions) (VARIANT_BOOL *pb) PURE; 367 STDMETHOD(get_Updatable) (VARIANT_BOOL *pb) PURE; 368 STDMETHOD(get_Version) (BSTR *pbstr) PURE; 369 STDMETHOD(get_RecordsAffected) (__LONG32 *pl) PURE; 370 STDMETHOD(get_TableDefs) (DAOTableDefs **pptdfs) PURE; 371 STDMETHOD(get_QueryDefs) (DAOQueryDefs **ppqdfs) PURE; 372 STDMETHOD(get_Relations) (DAORelations **pprls) PURE; 373 STDMETHOD(get_Containers) (DAOContainers **ppctns) PURE; 374 STDMETHOD(get_Recordsets) (DAORecordsets **pprsts) PURE; 375 STDMETHOD(Close) (VOID) PURE; 376 STDMETHOD(Execute) (BSTR Query,VARIANT Options) PURE; 377 STDMETHOD(_30_OpenRecordset) (BSTR Name,VARIANT Type,VARIANT Options,DAORecordset **pprst) PURE; 378 STDMETHOD(CreateProperty) (VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE; 379 STDMETHOD(CreateRelation) (VARIANT Name,VARIANT Table,VARIANT ForeignTable,VARIANT Attributes,DAORelation **pprel) PURE; 380 STDMETHOD(CreateTableDef) (VARIANT Name,VARIANT Attributes,VARIANT SourceTablename,VARIANT Connect,DAOTableDef **pptdf) PURE; 381 STDMETHOD(BeginTrans) (VOID) PURE; 382 STDMETHOD(CommitTrans) (__LONG32 Options) PURE; 383 STDMETHOD(Rollback) (VOID) PURE; 384 STDMETHOD(CreateDynaset) (BSTR Name,VARIANT Options,VARIANT Inconsistent,DAORecordset **pprst) PURE; 385 STDMETHOD(CreateQueryDef) (VARIANT Name,VARIANT SQLText,DAOQueryDef **ppqdf) PURE; 386 STDMETHOD(CreateSnapshot) (BSTR Source,VARIANT Options,DAORecordset **pprst) PURE; 387 STDMETHOD(DeleteQueryDef) (BSTR Name) PURE; 388 STDMETHOD(ExecuteSQL) (BSTR SQL,__LONG32 *pl) PURE; 389 STDMETHOD(ListFields) (BSTR Name,DAORecordset **pprst) PURE; 390 STDMETHOD(ListTables) (DAORecordset **pprst) PURE; 391 STDMETHOD(OpenQueryDef) (BSTR Name,DAOQueryDef **ppqdf) PURE; 392 STDMETHOD(OpenTable) (BSTR Name,VARIANT Options,DAORecordset **pprst) PURE; 393 STDMETHOD(get_ReplicaID) (BSTR *pbstr) PURE; 394 STDMETHOD(get_DesignMasterID) (BSTR *pbstr) PURE; 395 STDMETHOD(put_DesignMasterID) (BSTR MasterID) PURE; 396 STDMETHOD(Synchronize) (BSTR DbPathName,VARIANT ExchangeType) PURE; 397 STDMETHOD(MakeReplica) (BSTR PathName,BSTR Description,VARIANT Options) PURE; 398 STDMETHOD(put_Connect) (BSTR ODBCConnnect) PURE; 399 STDMETHOD(NewPassword) (BSTR bstrOld,BSTR bstrNew) PURE; 400 STDMETHOD(OpenRecordset) (BSTR Name,VARIANT Type,VARIANT Options,VARIANT LockEdit,DAORecordset **pprst) PURE; 401 STDMETHOD(get_Connection) (DAOConnection **ppCn) PURE; 402 STDMETHOD(PopulatePartial) (BSTR DbPathName) PURE; 403 }; 404 405 #undef INTERFACE 406 #define INTERFACE DAODatabases 407 DECLARE_INTERFACE_(DAODatabases,_DAOCollection) { 408 STDMETHOD(get_Item) (VARIANT Item,DAODatabase **ppdb) PURE; 409 }; 410 411 #undef INTERFACE 412 #define INTERFACE _DAOTableDef 413 DECLARE_INTERFACE_(_DAOTableDef,_DAO) { 414 STDMETHOD(get_Attributes) (__LONG32 *pl) PURE; 415 STDMETHOD(put_Attributes) (__LONG32 Attributes) PURE; 416 STDMETHOD(get_Connect) (BSTR *pbstr) PURE; 417 STDMETHOD(put_Connect) (BSTR Connection) PURE; 418 STDMETHOD(get_DateCreated) (VARIANT *pvar) PURE; 419 STDMETHOD(get_LastUpdated) (VARIANT *pvar) PURE; 420 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 421 STDMETHOD(put_Name) (BSTR Name) PURE; 422 STDMETHOD(get_SourceTableName) (BSTR *pbstr) PURE; 423 STDMETHOD(put_SourceTableName) (BSTR bstr) PURE; 424 STDMETHOD(get_Updatable) (VARIANT_BOOL *pb) PURE; 425 STDMETHOD(get_ValidationText) (BSTR *pbstr) PURE; 426 STDMETHOD(put_ValidationText) (BSTR bstr) PURE; 427 STDMETHOD(get_ValidationRule) (BSTR *pbstr) PURE; 428 STDMETHOD(put_ValidationRule) (BSTR bstr) PURE; 429 STDMETHOD(get_RecordCount) (__LONG32 *pl) PURE; 430 STDMETHOD(get_Fields) (DAOFields **ppflds) PURE; 431 STDMETHOD(get_Indexes) (DAOIndexes **ppidxs) PURE; 432 STDMETHOD(OpenRecordset) (VARIANT Type,VARIANT Options,DAORecordset **pprst) PURE; 433 STDMETHOD(RefreshLink) (VOID) PURE; 434 STDMETHOD(CreateField) (VARIANT Name,VARIANT Type,VARIANT Size,DAOField **ppfld) PURE; 435 STDMETHOD(CreateIndex) (VARIANT Name,DAOIndex **ppidx) PURE; 436 STDMETHOD(CreateProperty) (VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE; 437 STDMETHOD(get_ConflictTable) (BSTR *pbstr) PURE; 438 STDMETHOD(get_ReplicaFilter) (VARIANT *pFilter) PURE; 439 STDMETHOD(put_ReplicaFilter) (VARIANT Filter) PURE; 440 }; 441 442 #undef INTERFACE 443 #define INTERFACE DAOTableDefs 444 DECLARE_INTERFACE_(DAOTableDefs,_DAODynaCollection) { 445 STDMETHOD(get_Item) (VARIANT Item,DAOTableDef **pptdf) PURE; 446 }; 447 448 #undef INTERFACE 449 #define INTERFACE _DAOQueryDef 450 DECLARE_INTERFACE_(_DAOQueryDef,_DAO) { 451 STDMETHOD(get_DateCreated) (VARIANT *pvar) PURE; 452 STDMETHOD(get_LastUpdated) (VARIANT *pvar) PURE; 453 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 454 STDMETHOD(put_Name) (BSTR bstr) PURE; 455 STDMETHOD(get_ODBCTimeout) (short *ps) PURE; 456 STDMETHOD(put_ODBCTimeout) (short timeout) PURE; 457 STDMETHOD(get_Type) (short *pi) PURE; 458 STDMETHOD(get_SQL) (BSTR *pbstr) PURE; 459 STDMETHOD(put_SQL) (BSTR bstr) PURE; 460 STDMETHOD(get_Updatable) (VARIANT_BOOL *pb) PURE; 461 STDMETHOD(get_Connect) (BSTR *pbstr) PURE; 462 STDMETHOD(put_Connect) (BSTR bstr) PURE; 463 STDMETHOD(get_ReturnsRecords) (VARIANT_BOOL *pb) PURE; 464 STDMETHOD(put_ReturnsRecords) (VARIANT_BOOL f) PURE; 465 STDMETHOD(get_RecordsAffected) (__LONG32 *pl) PURE; 466 STDMETHOD(get_Fields) (DAOFields **ppflds) PURE; 467 STDMETHOD(get_Parameters) (DAOParameters **ppprms) PURE; 468 STDMETHOD(Close) (VOID) PURE; 469 STDMETHOD(_30_OpenRecordset) (VARIANT Type,VARIANT Options,DAORecordset **pprst) PURE; 470 STDMETHOD(_30__OpenRecordset) (VARIANT Type,VARIANT Options,DAORecordset **pprst) PURE; 471 STDMETHOD(_Copy) (DAOQueryDef **ppqdf) PURE; 472 STDMETHOD(Execute) (VARIANT Options) PURE; 473 STDMETHOD(Compare) (DAOQueryDef *pQdef,SHORT *lps) PURE; 474 STDMETHOD(CreateDynaset) (VARIANT Options,VARIANT Inconsistent,DAORecordset **pprst) PURE; 475 STDMETHOD(CreateSnapshot) (VARIANT Options,DAORecordset **pprst) PURE; 476 STDMETHOD(ListParameters) (DAORecordset **pprst) PURE; 477 STDMETHOD(CreateProperty) (VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE; 478 STDMETHOD(OpenRecordset) (VARIANT Type,VARIANT Options,VARIANT LockEdit,DAORecordset **pprst) PURE; 479 STDMETHOD(_OpenRecordset) (VARIANT Type,VARIANT Options,VARIANT LockEdit,DAORecordset **pprst) PURE; 480 STDMETHOD(Cancel) (VOID) PURE; 481 STDMETHOD(get_hStmt) (LONG *phStmt) PURE; 482 STDMETHOD(get_MaxRecords) (LONG *pMxRecs) PURE; 483 STDMETHOD(put_MaxRecords) (LONG MxRecs) PURE; 484 STDMETHOD(get_StillExecuting) (VARIANT_BOOL *pStillExec) PURE; 485 STDMETHOD(get_CacheSize) (__LONG32 *lCacheSize) PURE; 486 STDMETHOD(put_CacheSize) (__LONG32 lCacheSize) PURE; 487 STDMETHOD(get_Prepare) (VARIANT *pb) PURE; 488 STDMETHOD(put_Prepare) (VARIANT f) PURE; 489 }; 490 491 #undef INTERFACE 492 #define INTERFACE DAOQueryDefs 493 DECLARE_INTERFACE_(DAOQueryDefs,_DAODynaCollection) { 494 STDMETHOD(get_Item) (VARIANT Item,DAOQueryDef **ppqdef) PURE; 495 }; 496 497 #undef INTERFACE 498 #define INTERFACE DAORecordset 499 DECLARE_INTERFACE_(DAORecordset,_DAO) { 500 STDMETHOD(GetIDsOfNames) (REFIID riid,OLECHAR **rgszNames,UINT cNames,LCID lcid,DISPID *rgdispid); 501 STDMETHOD(Invoke) (DISPID dispidMember,REFIID riid,LCID lcid,WORD wFlags,DISPPARAMS *pdispparams,VARIANT *pvarResult,EXCEPINFO *pexcepinfo,UINT *puArgErr); 502 STDMETHOD(get_BOF) (VARIANT_BOOL *pb) PURE; 503 STDMETHOD(get_Bookmark) (SAFEARRAY **ppsach) PURE; 504 STDMETHOD(put_Bookmark) (SAFEARRAY **psach) PURE; 505 STDMETHOD(get_Bookmarkable) (VARIANT_BOOL *pb) PURE; 506 STDMETHOD(get_DateCreated) (VARIANT *pvar) PURE; 507 STDMETHOD(get_EOF) (VARIANT_BOOL *pb) PURE; 508 STDMETHOD(get_Filter) (BSTR *pbstr) PURE; 509 STDMETHOD(put_Filter) (BSTR Filter) PURE; 510 STDMETHOD(get_Index) (BSTR *pbstr) PURE; 511 STDMETHOD(put_Index) (BSTR bstr) PURE; 512 STDMETHOD(get_LastModified) (SAFEARRAY **ppsa) PURE; 513 STDMETHOD(get_LastUpdated) (VARIANT *pvar) PURE; 514 STDMETHOD(get_LockEdits) (VARIANT_BOOL *pb) PURE; 515 STDMETHOD(put_LockEdits) (VARIANT_BOOL Lock) PURE; 516 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 517 STDMETHOD(get_NoMatch) (VARIANT_BOOL *pb) PURE; 518 STDMETHOD(get_Sort) (BSTR *pbstr) PURE; 519 STDMETHOD(put_Sort) (BSTR Sort) PURE; 520 STDMETHOD(get_Transactions) (VARIANT_BOOL *pb) PURE; 521 STDMETHOD(get_Type) (short *ps) PURE; 522 STDMETHOD(get_RecordCount) (__LONG32 *pl) PURE; 523 STDMETHOD(get_Updatable) (VARIANT_BOOL *pb) PURE; 524 STDMETHOD(get_Restartable) (VARIANT_BOOL *pb) PURE; 525 STDMETHOD(get_ValidationText) (BSTR *pbstr) PURE; 526 STDMETHOD(get_ValidationRule) (BSTR *pbstr) PURE; 527 STDMETHOD(get_CacheStart) (SAFEARRAY **ppsa) PURE; 528 STDMETHOD(put_CacheStart) (SAFEARRAY **psa) PURE; 529 STDMETHOD(get_CacheSize) (__LONG32 *pl) PURE; 530 STDMETHOD(put_CacheSize) (__LONG32 CacheSize) PURE; 531 STDMETHOD(get_PercentPosition) (float *pd) PURE; 532 STDMETHOD(put_PercentPosition) (float Position) PURE; 533 STDMETHOD(get_AbsolutePosition) (__LONG32 *pl) PURE; 534 STDMETHOD(put_AbsolutePosition) (__LONG32 Position) PURE; 535 STDMETHOD(get_EditMode) (short *pi) PURE; 536 STDMETHOD(get_ODBCFetchCount) (__LONG32 *pl) PURE; 537 STDMETHOD(get_ODBCFetchDelay) (__LONG32 *pl) PURE; 538 STDMETHOD(get_Parent) (DAODatabase **pdb) PURE; 539 STDMETHOD(get_Fields) (DAOFields **ppflds) PURE; 540 STDMETHOD(get_Indexes) (DAOIndexes **ppidxs) PURE; 541 STDMETHOD(_30_CancelUpdate) (VOID) PURE; 542 STDMETHOD(AddNew) (VOID) PURE; 543 STDMETHOD(Close) (VOID) PURE; 544 STDMETHOD(OpenRecordset) (VARIANT Type,VARIANT Options,DAORecordset **pprst) PURE; 545 STDMETHOD(Delete) (VOID) PURE; 546 STDMETHOD(Edit) (VOID) PURE; 547 STDMETHOD(FindFirst) (BSTR Criteria) PURE; 548 STDMETHOD(FindLast) (BSTR Criteria) PURE; 549 STDMETHOD(FindNext) (BSTR Criteria) PURE; 550 STDMETHOD(FindPrevious) (BSTR Criteria) PURE; 551 STDMETHOD(MoveFirst) (VOID) PURE; 552 STDMETHOD(_30_MoveLast) (VOID) PURE; 553 STDMETHOD(MoveNext) (VOID) PURE; 554 STDMETHOD(MovePrevious) (VOID) PURE; 555 STDMETHOD(Seek) (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; 556 STDMETHOD(_30_Update) (VOID) PURE; 557 STDMETHOD(Clone) (DAORecordset **pprst) PURE; 558 STDMETHOD(Requery) (VARIANT NewQueryDef) PURE; 559 STDMETHOD(Move) (__LONG32 Rows,VARIANT StartBookmark) PURE; 560 STDMETHOD(FillCache) (VARIANT Rows,VARIANT StartBookmark) PURE; 561 STDMETHOD(CreateDynaset) (VARIANT Options,VARIANT Inconsistent,DAORecordset **pprst) PURE; 562 STDMETHOD(CreateSnapshot) (VARIANT Options,DAORecordset **pprst) PURE; 563 STDMETHOD(CopyQueryDef) (DAOQueryDef **ppqdf) PURE; 564 STDMETHOD(ListFields) (DAORecordset **pprst) PURE; 565 STDMETHOD(ListIndexes) (DAORecordset **pprst) PURE; 566 STDMETHOD(GetRows) (VARIANT NumRows,VARIANT *pvar) PURE; 567 STDMETHOD(get_Collect) (VARIANT Item,VARIANT *pvar) PURE; 568 STDMETHOD(put_Collect) (VARIANT Item,VARIANT value) PURE; 569 STDMETHOD(Cancel) (VOID) PURE; 570 STDMETHOD(NextRecordset) (VARIANT_BOOL *pb) PURE; 571 STDMETHOD(get_hStmt) (LONG *phStmt) PURE; 572 STDMETHOD(get_StillExecuting) (VARIANT_BOOL *pStillExec) PURE; 573 STDMETHOD(get_BatchSize) (__LONG32 *pl) PURE; 574 STDMETHOD(put_BatchSize) (__LONG32 BatchSize) PURE; 575 STDMETHOD(get_BatchCollisionCount) (__LONG32 *pl) PURE; 576 STDMETHOD(get_BatchCollisions) (VARIANT *pvar) PURE; 577 STDMETHOD(get_Connection) (DAOConnection **ppCn) PURE; 578 STDMETHOD(putref_Connection) (DAOConnection *pNewCn) PURE; 579 STDMETHOD(get_RecordStatus) (short *pi) PURE; 580 STDMETHOD(get_UpdateOptions) (__LONG32 *pl) PURE; 581 STDMETHOD(put_UpdateOptions) (__LONG32 l) PURE; 582 STDMETHOD(CancelUpdate) (__LONG32 UpdateType) PURE; 583 STDMETHOD(Update) (__LONG32 UpdateType,VARIANT_BOOL Force) PURE; 584 STDMETHOD(MoveLast) (__LONG32 Options) PURE; 585 }; 586 587 #undef INTERFACE 588 #define INTERFACE DAORecordsets 589 DECLARE_INTERFACE_(DAORecordsets,_DAOCollection) { 590 STDMETHOD(get_Item) (VARIANT Item,DAORecordset **pprst) PURE; 591 }; 592 593 #undef INTERFACE 594 #define INTERFACE _DAOField 595 DECLARE_INTERFACE_(_DAOField,_DAO) { 596 STDMETHOD(get_CollatingOrder) (__LONG32 *pl) PURE; 597 STDMETHOD(get_Type) (short *ps) PURE; 598 STDMETHOD(put_Type) (short Type) PURE; 599 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 600 STDMETHOD(put_Name) (BSTR Name) PURE; 601 STDMETHOD(get_Size) (__LONG32 *pl) PURE; 602 STDMETHOD(put_Size) (__LONG32 Size) PURE; 603 STDMETHOD(get_SourceField) (BSTR *pbstr) PURE; 604 STDMETHOD(get_SourceTable) (BSTR *pbstr) PURE; 605 STDMETHOD(get_Value) (VARIANT *pvar) PURE; 606 STDMETHOD(put_Value) (VARIANT Val) PURE; 607 STDMETHOD(get_Attributes) (__LONG32 *pl) PURE; 608 STDMETHOD(put_Attributes) (__LONG32 Attr) PURE; 609 STDMETHOD(get_OrdinalPosition) (short *ps) PURE; 610 STDMETHOD(put_OrdinalPosition) (short Pos) PURE; 611 STDMETHOD(get_ValidationText) (BSTR *pbstr) PURE; 612 STDMETHOD(put_ValidationText) (BSTR bstr) PURE; 613 STDMETHOD(get_ValidateOnSet) (VARIANT_BOOL *pb) PURE; 614 STDMETHOD(put_ValidateOnSet) (VARIANT_BOOL Validate) PURE; 615 STDMETHOD(get_ValidationRule) (BSTR *pbstr) PURE; 616 STDMETHOD(put_ValidationRule) (BSTR bstr) PURE; 617 STDMETHOD(get_DefaultValue) (VARIANT *pvar) PURE; 618 STDMETHOD(put_DefaultValue) (VARIANT var) PURE; 619 STDMETHOD(get_Required) (VARIANT_BOOL *pb) PURE; 620 STDMETHOD(put_Required) (VARIANT_BOOL fReq) PURE; 621 STDMETHOD(get_AllowZeroLength) (VARIANT_BOOL *pb) PURE; 622 STDMETHOD(put_AllowZeroLength) (VARIANT_BOOL fAllow) PURE; 623 STDMETHOD(get_DataUpdatable) (VARIANT_BOOL *pb) PURE; 624 STDMETHOD(get_ForeignName) (BSTR *pbstr) PURE; 625 STDMETHOD(put_ForeignName) (BSTR bstr) PURE; 626 STDMETHOD(AppendChunk) (VARIANT Val) PURE; 627 STDMETHOD(GetChunk) (__LONG32 Offset,__LONG32 Bytes,VARIANT *pvar) PURE; 628 STDMETHOD(_30_FieldSize) (__LONG32 *pl) PURE; 629 STDMETHOD(CreateProperty) (VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE; 630 STDMETHOD(get_CollectionIndex) (short *i) PURE; 631 STDMETHOD(get_OriginalValue) (VARIANT *pvar) PURE; 632 STDMETHOD(get_VisibleValue) (VARIANT *pvar) PURE; 633 STDMETHOD(get_FieldSize) (__LONG32 *pl) PURE; 634 }; 635 636 #undef INTERFACE 637 #define INTERFACE DAOFields 638 DECLARE_INTERFACE_(DAOFields,_DAODynaCollection) { 639 STDMETHOD(get_Item) (VARIANT Item,DAOField **ppfld) PURE; 640 }; 641 642 #undef INTERFACE 643 #define INTERFACE _DAOIndex 644 DECLARE_INTERFACE_(_DAOIndex,_DAO) { 645 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 646 STDMETHOD(put_Name) (BSTR bstr) PURE; 647 STDMETHOD(get_Foreign) (VARIANT_BOOL *pb) PURE; 648 STDMETHOD(get_Unique) (VARIANT_BOOL *pb) PURE; 649 STDMETHOD(put_Unique) (VARIANT_BOOL fUnique) PURE; 650 STDMETHOD(get_Clustered) (VARIANT_BOOL *pb) PURE; 651 STDMETHOD(put_Clustered) (VARIANT_BOOL fClustered) PURE; 652 STDMETHOD(get_Required) (VARIANT_BOOL *pb) PURE; 653 STDMETHOD(put_Required) (VARIANT_BOOL fRequired) PURE; 654 STDMETHOD(get_IgnoreNulls) (VARIANT_BOOL *pb) PURE; 655 STDMETHOD(put_IgnoreNulls) (VARIANT_BOOL fIgnoreNulls) PURE; 656 STDMETHOD(get_Primary) (VARIANT_BOOL *pb) PURE; 657 STDMETHOD(put_Primary) (VARIANT_BOOL fPrimary) PURE; 658 STDMETHOD(get_DistinctCount) (__LONG32 *pl) PURE; 659 STDMETHOD(get_Fields) (VARIANT *pv) PURE; 660 STDMETHOD(put_Fields) (VARIANT v) PURE; 661 STDMETHOD(CreateField) (VARIANT Name,VARIANT Type,VARIANT Size,DAOField **ppfld) PURE; 662 STDMETHOD(CreateProperty) (VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE; 663 }; 664 665 #undef INTERFACE 666 #define INTERFACE DAOIndexes 667 DECLARE_INTERFACE_(DAOIndexes,_DAODynaCollection) { 668 STDMETHOD(get_Item) (VARIANT Item,DAOIndex **ppidx) PURE; 669 }; 670 671 #undef INTERFACE 672 #define INTERFACE DAOParameter 673 DECLARE_INTERFACE_(DAOParameter,_DAO) { 674 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 675 STDMETHOD(get_Value) (VARIANT *pvar) PURE; 676 STDMETHOD(put_Value) (VARIANT val) PURE; 677 STDMETHOD(get_Type) (short *ps) PURE; 678 STDMETHOD(put_Type) (short s) PURE; 679 STDMETHOD(get_Direction) (short *pOption) PURE; 680 STDMETHOD(put_Direction) (short Option) PURE; 681 }; 682 683 #undef INTERFACE 684 #define INTERFACE DAOParameters 685 DECLARE_INTERFACE_(DAOParameters,_DAOCollection) { 686 STDMETHOD(get_Item) (VARIANT Item,DAOParameter **ppprm) PURE; 687 }; 688 689 #undef INTERFACE 690 #define INTERFACE _DAOUser 691 DECLARE_INTERFACE_(_DAOUser,_DAO) { 692 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 693 STDMETHOD(put_Name) (BSTR bstr) PURE; 694 STDMETHOD(put_PID) (BSTR bstr) PURE; 695 STDMETHOD(put_Password) (BSTR bstr) PURE; 696 STDMETHOD(get_Groups) (DAOGroups **ppgrps) PURE; 697 STDMETHOD(NewPassword) (BSTR bstrOld,BSTR bstrNew) PURE; 698 STDMETHOD(CreateGroup) (VARIANT Name,VARIANT PID,DAOGroup **ppgrp) PURE; 699 }; 700 701 #undef INTERFACE 702 #define INTERFACE DAOUsers 703 DECLARE_INTERFACE_(DAOUsers,_DAODynaCollection) { 704 STDMETHOD(get_Item) (VARIANT Item,DAOUser **ppusr) PURE; 705 }; 706 707 #undef INTERFACE 708 #define INTERFACE _DAOGroup 709 DECLARE_INTERFACE_(_DAOGroup,_DAO) { 710 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 711 STDMETHOD(put_Name) (BSTR bstr) PURE; 712 STDMETHOD(put_PID) (BSTR bstr) PURE; 713 STDMETHOD(get_Users) (DAOUsers **ppusrs) PURE; 714 STDMETHOD(CreateUser) (VARIANT Name,VARIANT PID,VARIANT Password,DAOUser **ppusr) PURE; 715 }; 716 717 #undef INTERFACE 718 #define INTERFACE DAOGroups 719 DECLARE_INTERFACE_(DAOGroups,_DAODynaCollection) { 720 STDMETHOD(get_Item) (VARIANT Item,DAOGroup **ppgrp) PURE; 721 }; 722 723 #undef INTERFACE 724 #define INTERFACE _DAORelation 725 DECLARE_INTERFACE_(_DAORelation,_DAO) { 726 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 727 STDMETHOD(put_Name) (BSTR bstr) PURE; 728 STDMETHOD(get_Table) (BSTR *pbstr) PURE; 729 STDMETHOD(put_Table) (BSTR bstr) PURE; 730 STDMETHOD(get_ForeignTable) (BSTR *pbstr) PURE; 731 STDMETHOD(put_ForeignTable) (BSTR bstr) PURE; 732 STDMETHOD(get_Attributes) (__LONG32 *pl) PURE; 733 STDMETHOD(put_Attributes) (__LONG32 attr) PURE; 734 STDMETHOD(get_Fields) (DAOFields **ppflds) PURE; 735 STDMETHOD(CreateField) (VARIANT Name,VARIANT Type,VARIANT Size,DAOField **ppfld) PURE; 736 STDMETHOD(get_PartialReplica) (VARIANT_BOOL *pfPartialReplica) PURE; 737 STDMETHOD(put_PartialReplica) (VARIANT_BOOL fPartialReplica) PURE; 738 }; 739 740 #undef INTERFACE 741 #define INTERFACE DAORelations 742 DECLARE_INTERFACE_(DAORelations,_DAODynaCollection) { 743 STDMETHOD(get_Item) (VARIANT Item,DAORelation **pprel) PURE; 744 }; 745 746 #undef INTERFACE 747 #define INTERFACE DAOContainer 748 DECLARE_INTERFACE_(DAOContainer,_DAO) { 749 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 750 STDMETHOD(get_Owner) (BSTR *pbstr) PURE; 751 STDMETHOD(put_Owner) (BSTR bstr) PURE; 752 STDMETHOD(get_UserName) (BSTR *pbstr) PURE; 753 STDMETHOD(put_UserName) (BSTR bstr) PURE; 754 STDMETHOD(get_Permissions) (__LONG32 *pl) PURE; 755 STDMETHOD(put_Permissions) (__LONG32 permissions) PURE; 756 STDMETHOD(get_Inherit) (VARIANT_BOOL *pb) PURE; 757 STDMETHOD(put_Inherit) (VARIANT_BOOL fInherit) PURE; 758 STDMETHOD(get_Documents) (DAODocuments **ppdocs) PURE; 759 STDMETHOD(get_AllPermissions) (__LONG32 *pl) PURE; 760 }; 761 762 #undef INTERFACE 763 #define INTERFACE DAOContainers 764 DECLARE_INTERFACE_(DAOContainers,_DAOCollection) { 765 STDMETHOD(get_Item) (VARIANT Item,DAOContainer **ppctn) PURE; 766 }; 767 768 #undef INTERFACE 769 #define INTERFACE DAODocument 770 DECLARE_INTERFACE_(DAODocument,_DAO) { 771 STDMETHOD(get_Name) (BSTR *pbstr) PURE; 772 STDMETHOD(get_Owner) (BSTR *pbstr) PURE; 773 STDMETHOD(put_Owner) (BSTR bstr) PURE; 774 STDMETHOD(get_Container) (BSTR *pbstr) PURE; 775 STDMETHOD(get_UserName) (BSTR *pbstr) PURE; 776 STDMETHOD(put_UserName) (BSTR bstr) PURE; 777 STDMETHOD(get_Permissions) (__LONG32 *pl) PURE; 778 STDMETHOD(put_Permissions) (__LONG32 permissions) PURE; 779 STDMETHOD(get_DateCreated) (VARIANT *pvar) PURE; 780 STDMETHOD(get_LastUpdated) (VARIANT *pvar) PURE; 781 STDMETHOD(get_AllPermissions) (__LONG32 *pl) PURE; 782 STDMETHOD(CreateProperty) (VARIANT Name,VARIANT Type,VARIANT Value,VARIANT DDL,DAOProperty **pprp) PURE; 783 }; 784 785 #undef INTERFACE 786 #define INTERFACE DAODocuments 787 DECLARE_INTERFACE_(DAODocuments,_DAOCollection) { 788 STDMETHOD(get_Item) (VARIANT Item,DAODocument **ppdoc) PURE; 789 }; 790 791 #undef INTERFACE 792 #define INTERFACE DAOIndexFields 793 DECLARE_INTERFACE_(DAOIndexFields,_DAODynaCollection) { 794 STDMETHOD(get_Item) (VARIANT Item,VARIANT *pvar) PURE; 795 }; 796 #endif 797