dbdaoint.h 65 KB

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