Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

776 lines
34 KiB

  1. /*************************************************************************
  2. ** D B D A O I N T . H *
  3. ** *
  4. ** OLE DAO Interface *
  5. ** *
  6. ** History *
  7. ** ------- *
  8. ** File converted from cdaotype.h for use by CDAO clients. *
  9. ** *
  10. ** *
  11. **************************************************************************
  12. ** Copyright (C) 1995 by Microsoft Corporation *
  13. ** All Rights Reserved *
  14. **************************************************************************/
  15. #ifndef _DBDAOINT_H_
  16. #define _DBDAOINT_H_
  17. #ifndef _INC_TCHAR
  18. #include <tchar.h>
  19. #endif
  20. // Forwards
  21. #define DAODBEngine _DAODBEngine
  22. interface _DAODBEngine;
  23. interface DAOError;
  24. interface DAOErrors;
  25. interface DAOProperty;
  26. interface DAOProperties;
  27. interface DAOWorkspace;
  28. interface DAOWorkspaces;
  29. interface DAODatabase;
  30. interface DAODatabases;
  31. #define DAOTableDef _DAOTableDef
  32. interface _DAOTableDef;
  33. interface DAOTableDefs;
  34. #define DAOQueryDef _DAOQueryDef
  35. interface _DAOQueryDef;
  36. interface DAOQueryDefs;
  37. interface DAORecordset;
  38. interface DAORecordsets;
  39. #define DAOField _DAOField
  40. interface _DAOField;
  41. interface DAOFields;
  42. #define DAOIndex _DAOIndex
  43. interface _DAOIndex;
  44. interface DAOIndexes;
  45. interface DAOParameter;
  46. interface DAOParameters;
  47. #define DAOUser _DAOUser
  48. interface _DAOUser;
  49. interface DAOUsers;
  50. #define DAOGroup _DAOGroup
  51. interface _DAOGroup;
  52. interface DAOGroups;
  53. #define DAORelation _DAORelation
  54. interface _DAORelation;
  55. interface DAORelations;
  56. interface DAOContainer;
  57. interface DAOContainers;
  58. interface DAODocument;
  59. interface DAODocuments;
  60. // Constants
  61. const short dbOpenTable = 1;
  62. const short dbOpenDynaset = 2;
  63. const short dbOpenSnapshot = 4;
  64. const short dbEditNone = 0;
  65. const short dbEditInProgress = 1;
  66. const short dbEditAdd = 2;
  67. const short dbDenyWrite = 1;
  68. const short dbDenyRead = 2;
  69. const short dbReadOnly = 4;
  70. const short dbAppendOnly = 8;
  71. const short dbInconsistent = 16;
  72. const short dbConsistent = 32;
  73. const short dbSQLPassThrough = 64;
  74. const short dbFailOnError = 128;
  75. const short dbForwardOnly = 256;
  76. const short dbSeeChanges = 512;
  77. const short dbFixedField = 1;
  78. const short dbVariableField = 2;
  79. const short dbAutoIncrField = 16;
  80. const short dbUpdatableField = 32;
  81. const long dbSystemField = 8192;
  82. const short dbDescending = 1;
  83. const short dbBoolean = 1;
  84. const short dbByte = 2;
  85. const short dbInteger = 3;
  86. const short dbLong = 4;
  87. const short dbCurrency = 5;
  88. const short dbSingle = 6;
  89. const short dbDouble = 7;
  90. const short dbDate = 8;
  91. const short dbText = 10;
  92. const short dbLongBinary = 11;
  93. const short dbMemo = 12;
  94. const short dbGUID = 15;
  95. const long dbRelationUnique = 1;
  96. const long dbRelationDontEnforce = 2;
  97. const long dbRelationInherited = 4;
  98. const long dbRelationUpdateCascade = 256;
  99. const long dbRelationDeleteCascade = 4096;
  100. const long dbRelationLeft = 16777216;
  101. const long dbRelationRight = 33554432;
  102. const long dbAttachExclusive = 65536;
  103. const long dbAttachSavePWD = 131072;
  104. const long dbSystemObject = -2147483646;
  105. const long dbAttachedTable = 1073741824;
  106. const long dbAttachedODBC = 536870912;
  107. const long dbHiddenObject = 1;
  108. const short dbQSelect = 0;
  109. const short dbQAction = 240;
  110. const short dbQCrosstab = 16;
  111. const short dbQDelete = 32;
  112. const short dbQUpdate = 48;
  113. const short dbQAppend = 64;
  114. const short dbQMakeTable = 80;
  115. const short dbQDDL = 96;
  116. const short dbQSQLPassThrough = 112;
  117. const short dbQSetOperation = 128;
  118. const short dbQSPTBulk = 144;
  119. const TCHAR dbLangArabic[] = _T(";LANGID=0x0401;CP=1256;COUNTRY=0";);
  120. const TCHAR dbLangCzech[] = _T(";LANGID=0x0405;CP=1250;COUNTRY=0";);
  121. const TCHAR dbLangDutch[] = _T(";LANGID=0x0413;CP=1252;COUNTRY=0";);
  122. const TCHAR dbLangGeneral[] = _T(";LANGID=0x0409;CP=1252;COUNTRY=0";);
  123. const TCHAR dbLangGreek[] = _T(";LANGID=0x0408;CP=1253;COUNTRY=0";);
  124. const TCHAR dbLangHebrew[] = _T(";LANGID=0x040D;CP=1255;COUNTRY=0";);
  125. const TCHAR dbLangHungarian[] = _T(";LANGID=0x040E;CP=1250;COUNTRY=0";);
  126. const TCHAR dbLangIcelandic[] = _T(";LANGID=0x040F;CP=1252;COUNTRY=0";);
  127. const TCHAR dbLangNordic[] = _T(";LANGID=0x041D;CP=1252;COUNTRY=0";);
  128. const TCHAR dbLangNorwDan[] = _T(";LANGID=0x0414;CP=1252;COUNTRY=0";);
  129. const TCHAR dbLangPolish[] = _T(";LANGID=0x0415;CP=1250;COUNTRY=0";);
  130. const TCHAR dbLangCyrillic[] = _T(";LANGID=0x0419;CP=1251;COUNTRY=0";);
  131. const TCHAR dbLangSpanish[] = _T(";LANGID=0x040A;CP=1252;COUNTRY=0";);
  132. const TCHAR dbLangSwedFin[] = _T(";LANGID=0x040B;CP=1252;COUNTRY=0";);
  133. const TCHAR dbLangTurkish[] = _T(";LANGID=0x041F;CP=1254;COUNTRY=0";);
  134. const TCHAR dbLangJapanese[] = _T(";LANGID=0x0411;CP=932;COUNTRY=0";);
  135. const TCHAR dbLangChineseSimplified[] = _T(";LANGID=0x0804;CP=936;COUNTRY=0";);
  136. const TCHAR dbLangChineseTraditional[] = _T(";LANGID=0x0404;CP=950;COUNTRY=0";);
  137. const TCHAR dbLangKorean[] = _T(";LANGID=0x040C;CP=494;COUNTRY=0";);
  138. const TCHAR dbLangThai[] = _T(";LANGID=0x101E;CP=874;COUNTRY=0";);
  139. const short dbVersion10 = 1;
  140. const short dbEncrypt = 2;
  141. const short dbDecrypt = 4;
  142. const short dbVersion11 = 8;
  143. const short dbVersion20 = 16;
  144. const short dbVersion30 = 32;
  145. const short dbSortNeutral = 1024;
  146. const short dbSortArabic = 1025;
  147. const short dbSortCyrillic = 1049;
  148. const short dbSortCzech = 1029;
  149. const short dbSortDutch = 1043;
  150. const short dbSortGeneral = 1033;
  151. const short dbSortGreek = 1032;
  152. const short dbSortHebrew = 1037;
  153. const short dbSortHungarian = 1038;
  154. const short dbSortIcelandic = 1039;
  155. const short dbSortNorwdan = 1030;
  156. const short dbSortPDXIntl = 1033;
  157. const short dbSortPDXNor = 1030;
  158. const short dbSortPDXSwe = 1053;
  159. const short dbSortPolish = 1045;
  160. const short dbSortSpanish = 1034;
  161. const short dbSortSwedFin = 1053;
  162. const short dbSortTurkish = 1055;
  163. const short dbSortJapanese = 1041;
  164. const short dbSortChineseSimplified = 2052;
  165. const short dbSortChineseTraditional = 1028;
  166. const short dbSortKorean = 1036;
  167. const short dbSortThai = 4126;
  168. const short dbSortUndefined = -1;
  169. const short dbFreeLocks = 1;
  170. const long dbSecNoAccess = 0;
  171. const long dbSecFullAccess = 1048575;
  172. const long dbSecDelete = 65536;
  173. const long dbSecReadSec = 131072;
  174. const long dbSecWriteSec = 262144;
  175. const long dbSecWriteOwner = 524288;
  176. const long dbSecDBCreate = 1;
  177. const long dbSecDBOpen = 2;
  178. const long dbSecDBExclusive = 4;
  179. const long dbSecDBAdmin = 8;
  180. const long dbSecCreate = 1;
  181. const long dbSecReadDef = 4;
  182. const long dbSecWriteDef = 65548;
  183. const long dbSecRetrieveData = 20;
  184. const long dbSecInsertData = 32;
  185. const long dbSecReplaceData = 64;
  186. const long dbSecDeleteData = 128;
  187. const long dbRepExportChanges = 1;
  188. const long dbRepImportChanges = 2;
  189. const long dbRepImpExpChanges = 4;
  190. const long dbRepMakeReadOnly = 2;
  191. // Interface: _DAOCollection
  192. #undef INTERFACE
  193. #define INTERFACE _DAOCollection
  194. DECLARE_INTERFACE_(_DAOCollection, IDispatch)
  195. {
  196. STDMETHOD(get_Count) (THIS_ short FAR* c) PURE;
  197. STDMETHOD(_NewEnum) (THIS_ IUnknown * FAR* ppunk) PURE;
  198. STDMETHOD(Refresh) (THIS) PURE;
  199. };
  200. // Interface: _DAODynaCollection
  201. #undef INTERFACE
  202. #define INTERFACE _DAODynaCollection
  203. DECLARE_INTERFACE_(_DAODynaCollection, _DAOCollection)
  204. {
  205. STDMETHOD(Append) (THIS_ IDispatch * Object) PURE;
  206. STDMETHOD(Delete) (THIS_ BSTR Name) PURE;
  207. };
  208. // Interface: _DAO
  209. #undef INTERFACE
  210. #define INTERFACE _DAO
  211. DECLARE_INTERFACE_(_DAO, IDispatch)
  212. {
  213. STDMETHOD(get_Properties) (THIS_ DAOProperties FAR* FAR* ppprops) PURE;
  214. };
  215. // Interface: _DAODBEngine
  216. #undef INTERFACE
  217. #define INTERFACE _DAODBEngine
  218. DECLARE_INTERFACE_(_DAODBEngine, _DAO)
  219. {
  220. STDMETHOD(get_Version) (THIS_ BSTR FAR* pbstr) PURE;
  221. STDMETHOD(get_IniPath) (THIS_ BSTR FAR* pbstr) PURE;
  222. STDMETHOD(put_IniPath) (THIS_ BSTR path) PURE;
  223. STDMETHOD(put_DefaultUser) (THIS_ BSTR user) PURE;
  224. STDMETHOD(put_DefaultPassword) (THIS_ BSTR pw) PURE;
  225. STDMETHOD(get_LoginTimeout) (THIS_ short FAR* ps) PURE;
  226. STDMETHOD(put_LoginTimeout) (THIS_ short Timeout) PURE;
  227. STDMETHOD(get_Workspaces) (THIS_ DAOWorkspaces FAR* FAR* ppworks) PURE;
  228. STDMETHOD(get_Errors) (THIS_ DAOErrors FAR* FAR* pperrs) PURE;
  229. STDMETHOD(Idle) (THIS_ VARIANT Action) PURE;
  230. STDMETHOD(CompactDatabase) (THIS_ BSTR SrcName, BSTR DstName, VARIANT DstConnect, VARIANT Options, VARIANT SrcConnect) PURE;
  231. STDMETHOD(RepairDatabase) (THIS_ BSTR Name) PURE;
  232. STDMETHOD(RegisterDatabase) (THIS_ BSTR Dsn, BSTR Driver, VARIANT_BOOL Silent, BSTR Attributes) PURE;
  233. STDMETHOD(CreateWorkspace) (THIS_ BSTR Name, BSTR UserName, BSTR Password, DAOWorkspace FAR* FAR* ppwrk) PURE;
  234. STDMETHOD(OpenDatabase) (THIS_ BSTR Name, VARIANT Exclusive, VARIANT ReadOnly, VARIANT Connect, DAODatabase FAR* FAR* ppdb) PURE;
  235. STDMETHOD(CreateDatabase) (THIS_ BSTR Name, BSTR Connect, VARIANT Option, DAODatabase FAR* FAR* ppdb) PURE;
  236. STDMETHOD(FreeLocks) (THIS) PURE;
  237. STDMETHOD(BeginTrans) (THIS) PURE;
  238. STDMETHOD(CommitTrans) (THIS) PURE;
  239. STDMETHOD(Rollback) (THIS) PURE;
  240. STDMETHOD(SetDefaultWorkspace) (THIS_ BSTR Name, BSTR Password) PURE;
  241. STDMETHOD(SetDataAccessOption) (THIS_ short Option, VARIANT Value) PURE;
  242. STDMETHOD(ISAMStats) (THIS_ long StatNum, VARIANT Reset, long FAR* pl) PURE;
  243. STDMETHOD(get_SystemDB) (THIS_ BSTR FAR* pbstr) PURE;
  244. STDMETHOD(put_SystemDB) (THIS_ BSTR SystemDBPath) PURE;
  245. };
  246. // Interface: DAOError
  247. #undef INTERFACE
  248. #define INTERFACE DAOError
  249. DECLARE_INTERFACE_(DAOError, IDispatch)
  250. {
  251. STDMETHOD(get_Number) (THIS_ long FAR* pl) PURE;
  252. STDMETHOD(get_Source) (THIS_ BSTR FAR* pbstr) PURE;
  253. STDMETHOD(get_Description) (THIS_ BSTR FAR* pbstr) PURE;
  254. STDMETHOD(get_HelpFile) (THIS_ BSTR FAR* pbstr) PURE;
  255. STDMETHOD(get_HelpContext) (THIS_ long FAR* pl) PURE;
  256. };
  257. // Interface: DAOErrors
  258. #undef INTERFACE
  259. #define INTERFACE DAOErrors
  260. DECLARE_INTERFACE_(DAOErrors, _DAOCollection)
  261. {
  262. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOError FAR* FAR* pperr) PURE;
  263. };
  264. // Interface: DAOWorkspace
  265. #undef INTERFACE
  266. #define INTERFACE DAOWorkspace
  267. DECLARE_INTERFACE_(DAOWorkspace, _DAO)
  268. {
  269. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  270. STDMETHOD(put_Name) (THIS_ BSTR Name) PURE;
  271. STDMETHOD(get_UserName) (THIS_ BSTR FAR* pbstr) PURE;
  272. STDMETHOD(put_UserName) (THIS_ BSTR UserName) PURE;
  273. STDMETHOD(put_Password) (THIS_ BSTR Password) PURE;
  274. STDMETHOD(get_IsolateODBCTrans) (THIS_ short FAR* ps) PURE;
  275. STDMETHOD(put_IsolateODBCTrans) (THIS_ short s) PURE;
  276. STDMETHOD(get_Databases) (THIS_ DAODatabases FAR* FAR* ppdbs) PURE;
  277. STDMETHOD(get_Users) (THIS_ DAOUsers FAR* FAR* ppusrs) PURE;
  278. STDMETHOD(get_Groups) (THIS_ DAOGroups FAR* FAR* ppgrps) PURE;
  279. STDMETHOD(BeginTrans) (THIS) PURE;
  280. STDMETHOD(CommitTrans) (THIS) PURE;
  281. STDMETHOD(Close) (THIS) PURE;
  282. STDMETHOD(Rollback) (THIS) PURE;
  283. STDMETHOD(OpenDatabase) (THIS_ BSTR Name, VARIANT Exclusive, VARIANT ReadOnly, VARIANT Connect, DAODatabase FAR* FAR* ppdb) PURE;
  284. STDMETHOD(CreateDatabase) (THIS_ BSTR Name, BSTR Connect, VARIANT Option, DAODatabase FAR* FAR* ppdb) PURE;
  285. STDMETHOD(CreateUser) (THIS_ VARIANT Name, VARIANT PID, VARIANT Password, DAOUser FAR* FAR* ppusr) PURE;
  286. STDMETHOD(CreateGroup) (THIS_ VARIANT Name, VARIANT PID, DAOGroup FAR* FAR* ppgrp) PURE;
  287. };
  288. // Interface: DAOWorkspaces
  289. #undef INTERFACE
  290. #define INTERFACE DAOWorkspaces
  291. DECLARE_INTERFACE_(DAOWorkspaces, _DAODynaCollection)
  292. {
  293. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOWorkspace FAR* FAR* ppwrk) PURE;
  294. };
  295. // Interface: _DAOTableDef
  296. #undef INTERFACE
  297. #define INTERFACE _DAOTableDef
  298. DECLARE_INTERFACE_(_DAOTableDef, _DAO)
  299. {
  300. STDMETHOD(get_Attributes) (THIS_ long FAR* pl) PURE;
  301. STDMETHOD(put_Attributes) (THIS_ long Attributes) PURE;
  302. STDMETHOD(get_Connect) (THIS_ BSTR FAR* pbstr) PURE;
  303. STDMETHOD(put_Connect) (THIS_ BSTR Connection) PURE;
  304. STDMETHOD(get_DateCreated) (THIS_ VARIANT FAR* pvar) PURE;
  305. STDMETHOD(get_LastUpdated) (THIS_ VARIANT FAR* pvar) PURE;
  306. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  307. STDMETHOD(put_Name) (THIS_ BSTR Name) PURE;
  308. STDMETHOD(get_SourceTableName) (THIS_ BSTR FAR* pbstr) PURE;
  309. STDMETHOD(put_SourceTableName) (THIS_ BSTR bstr) PURE;
  310. STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  311. STDMETHOD(get_ValidationText) (THIS_ BSTR FAR* pbstr) PURE;
  312. STDMETHOD(put_ValidationText) (THIS_ BSTR bstr) PURE;
  313. STDMETHOD(get_ValidationRule) (THIS_ BSTR FAR* pbstr) PURE;
  314. STDMETHOD(put_ValidationRule) (THIS_ BSTR bstr) PURE;
  315. STDMETHOD(get_RecordCount) (THIS_ long FAR* pl) PURE;
  316. STDMETHOD(get_Fields) (THIS_ DAOFields FAR* FAR* ppflds) PURE;
  317. STDMETHOD(get_Indexes) (THIS_ DAOIndexes FAR* FAR* ppidxs) PURE;
  318. STDMETHOD(OpenRecordset) (THIS_ VARIANT Type, VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  319. STDMETHOD(RefreshLink) (THIS) PURE;
  320. STDMETHOD(CreateField) (THIS_ VARIANT Name, VARIANT Type, VARIANT Size, DAOField FAR* FAR* ppfld) PURE;
  321. STDMETHOD(CreateIndex) (THIS_ VARIANT Name, DAOIndex FAR* FAR* ppidx) PURE;
  322. STDMETHOD(CreateProperty) (THIS_ VARIANT Name, VARIANT Type, VARIANT Value, VARIANT DDL, DAOProperty FAR* FAR* pprp) PURE;
  323. STDMETHOD(get_ConflictTable) (THIS_ BSTR FAR* pbstr) PURE;
  324. };
  325. // Interface: DAOTableDefs
  326. #undef INTERFACE
  327. #define INTERFACE DAOTableDefs
  328. DECLARE_INTERFACE_(DAOTableDefs, _DAODynaCollection)
  329. {
  330. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOTableDef FAR* FAR* pptdf) PURE;
  331. };
  332. // Interface: DAODatabase
  333. #undef INTERFACE
  334. #define INTERFACE DAODatabase
  335. DECLARE_INTERFACE_(DAODatabase, _DAO)
  336. {
  337. STDMETHOD(get_CollatingOrder) (THIS_ long FAR* pl) PURE;
  338. STDMETHOD(get_Connect) (THIS_ BSTR FAR* pbstr) PURE;
  339. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  340. STDMETHOD(get_QueryTimeout) (THIS_ short FAR* ps) PURE;
  341. STDMETHOD(put_QueryTimeout) (THIS_ short Timeout) PURE;
  342. STDMETHOD(get_Transactions) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  343. STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  344. STDMETHOD(get_Version) (THIS_ BSTR FAR* pbstr) PURE;
  345. STDMETHOD(get_RecordsAffected) (THIS_ long FAR* pl) PURE;
  346. STDMETHOD(get_TableDefs) (THIS_ DAOTableDefs FAR* FAR* pptdfs) PURE;
  347. STDMETHOD(get_QueryDefs) (THIS_ DAOQueryDefs FAR* FAR* ppqdfs) PURE;
  348. STDMETHOD(get_Relations) (THIS_ DAORelations FAR* FAR* pprls) PURE;
  349. STDMETHOD(get_Containers) (THIS_ DAOContainers FAR* FAR* ppctns) PURE;
  350. STDMETHOD(get_Recordsets) (THIS_ DAORecordsets FAR* FAR* pprsts) PURE;
  351. STDMETHOD(Close) (THIS) PURE;
  352. STDMETHOD(Execute) (THIS_ BSTR Query, VARIANT Options) PURE;
  353. STDMETHOD(OpenRecordset) (THIS_ BSTR Name, VARIANT Type, VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  354. STDMETHOD(CreateProperty) (THIS_ VARIANT Name, VARIANT Type, VARIANT Value, VARIANT DDL, DAOProperty FAR* FAR* pprp) PURE;
  355. STDMETHOD(CreateRelation) (THIS_ VARIANT Name, VARIANT Table, VARIANT ForeignTable, VARIANT Attributes, DAORelation FAR* FAR* pprel) PURE;
  356. STDMETHOD(CreateTableDef) (THIS_ VARIANT Name, VARIANT Attributes, VARIANT SourceTablename, VARIANT Connect, DAOTableDef FAR* FAR* pptdf) PURE;
  357. STDMETHOD(BeginTrans) (THIS) PURE;
  358. STDMETHOD(CommitTrans) (THIS) PURE;
  359. STDMETHOD(Rollback) (THIS) PURE;
  360. STDMETHOD(CreateDynaset) (THIS_ BSTR Name, VARIANT Options, VARIANT Inconsistent, DAORecordset FAR* FAR* pprst) PURE;
  361. STDMETHOD(CreateQueryDef) (THIS_ VARIANT Name, VARIANT SQLText, DAOQueryDef FAR* FAR* ppqdf) PURE;
  362. STDMETHOD(CreateSnapshot) (THIS_ BSTR Source, VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  363. STDMETHOD(DeleteQueryDef) (THIS_ BSTR Name) PURE;
  364. STDMETHOD(ExecuteSQL) (THIS_ BSTR SQL, long FAR* pl) PURE;
  365. STDMETHOD(ListFields) (THIS_ BSTR Name, DAORecordset FAR* FAR* pprst) PURE;
  366. STDMETHOD(ListTables) (THIS_ DAORecordset FAR* FAR* pprst) PURE;
  367. STDMETHOD(OpenQueryDef) (THIS_ BSTR Name, DAOQueryDef FAR* FAR* ppqdf) PURE;
  368. STDMETHOD(OpenTable) (THIS_ BSTR Name, VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  369. STDMETHOD(get_ReplicaID) (THIS_ BSTR FAR* pbstr) PURE;
  370. STDMETHOD(get_DesignMasterID) (THIS_ BSTR FAR* pbstr) PURE;
  371. STDMETHOD(put_DesignMasterID) (THIS_ BSTR MasterID) PURE;
  372. STDMETHOD(Synchronize) (THIS_ BSTR DbPathName, VARIANT ExchangeType) PURE;
  373. STDMETHOD(MakeReplica) (THIS_ BSTR PathName, BSTR Description, VARIANT Options) PURE;
  374. STDMETHOD(put_Connect) (THIS_ BSTR ODBCConnnect) PURE;
  375. STDMETHOD(NewPassword) (THIS_ BSTR bstrOld, BSTR bstrNew) PURE;
  376. };
  377. // Interface: DAODatabases
  378. #undef INTERFACE
  379. #define INTERFACE DAODatabases
  380. DECLARE_INTERFACE_(DAODatabases, _DAOCollection)
  381. {
  382. STDMETHOD(get_Item) (THIS_ VARIANT index, DAODatabase FAR* FAR* ppdb) PURE;
  383. };
  384. // Interface: _DAOQueryDef
  385. #undef INTERFACE
  386. #define INTERFACE _DAOQueryDef
  387. DECLARE_INTERFACE_(_DAOQueryDef, _DAO)
  388. {
  389. STDMETHOD(get_DateCreated) (THIS_ VARIANT FAR* pvar) PURE;
  390. STDMETHOD(get_LastUpdated) (THIS_ VARIANT FAR* pvar) PURE;
  391. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  392. STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
  393. STDMETHOD(get_ODBCTimeout) (THIS_ short FAR* ps) PURE;
  394. STDMETHOD(put_ODBCTimeout) (THIS_ short timeout) PURE;
  395. STDMETHOD(get_Type) (THIS_ short FAR* pi) PURE;
  396. STDMETHOD(get_SQL) (THIS_ BSTR FAR* pbstr) PURE;
  397. STDMETHOD(put_SQL) (THIS_ BSTR bstr) PURE;
  398. STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  399. STDMETHOD(get_Connect) (THIS_ BSTR FAR* pbstr) PURE;
  400. STDMETHOD(put_Connect) (THIS_ BSTR bstr) PURE;
  401. STDMETHOD(get_ReturnsRecords) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  402. STDMETHOD(put_ReturnsRecords) (THIS_ VARIANT_BOOL f) PURE;
  403. STDMETHOD(get_RecordsAffected) (THIS_ long FAR* pl) PURE;
  404. STDMETHOD(get_Fields) (THIS_ DAOFields FAR* FAR* ppflds) PURE;
  405. STDMETHOD(get_Parameters) (THIS_ DAOParameters FAR* FAR* ppprms) PURE;
  406. STDMETHOD(Close) (THIS) PURE;
  407. STDMETHOD(OpenRecordset) (THIS_ VARIANT Type, VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  408. STDMETHOD(_OpenRecordset) (THIS_ VARIANT Type, VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  409. STDMETHOD(_Copy) (THIS_ DAOQueryDef FAR* FAR* ppqdf) PURE;
  410. STDMETHOD(Execute) (THIS_ VARIANT Options) PURE;
  411. STDMETHOD(Compare) (THIS_ DAOQueryDef FAR* pQdef, short FAR* lps) PURE;
  412. STDMETHOD(CreateDynaset) (THIS_ VARIANT Options, VARIANT Inconsistent, DAORecordset FAR* FAR* pprst) PURE;
  413. STDMETHOD(CreateSnapshot) (THIS_ VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  414. STDMETHOD(ListParameters) (THIS_ DAORecordset FAR* FAR* pprst) PURE;
  415. STDMETHOD(CreateProperty) (THIS_ VARIANT Name, VARIANT Type, VARIANT Value, VARIANT DDL, DAOProperty FAR* FAR* pprp) PURE;
  416. };
  417. // Interface: DAOQueryDefs
  418. #undef INTERFACE
  419. #define INTERFACE DAOQueryDefs
  420. DECLARE_INTERFACE_(DAOQueryDefs, _DAODynaCollection)
  421. {
  422. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOQueryDef FAR* FAR* ppqdef) PURE;
  423. };
  424. // Interface: DAORecordset
  425. #undef INTERFACE
  426. #define INTERFACE DAORecordset
  427. DECLARE_INTERFACE_(DAORecordset, _DAO)
  428. {
  429. STDMETHOD(get_BOF) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  430. STDMETHOD(get_Bookmark) (THIS_ SAFEARRAY FAR* FAR* ppsach) PURE;
  431. STDMETHOD(put_Bookmark) (THIS_ SAFEARRAY FAR* FAR* psach) PURE;
  432. STDMETHOD(get_Bookmarkable) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  433. STDMETHOD(get_DateCreated) (THIS_ VARIANT FAR* pvar) PURE;
  434. STDMETHOD(get_EOF) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  435. STDMETHOD(get_Filter) (THIS_ BSTR FAR* pbstr) PURE;
  436. STDMETHOD(put_Filter) (THIS_ BSTR Filter) PURE;
  437. STDMETHOD(get_Index) (THIS_ BSTR FAR* pbstr) PURE;
  438. STDMETHOD(put_Index) (THIS_ BSTR bstr) PURE;
  439. STDMETHOD(get_LastModified) (THIS_ SAFEARRAY FAR* FAR* ppsa) PURE;
  440. STDMETHOD(get_LastUpdated) (THIS_ VARIANT FAR* pvar) PURE;
  441. STDMETHOD(get_LockEdits) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  442. STDMETHOD(put_LockEdits) (THIS_ VARIANT_BOOL Lock) PURE;
  443. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  444. STDMETHOD(get_NoMatch) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  445. STDMETHOD(get_Sort) (THIS_ BSTR FAR* pbstr) PURE;
  446. STDMETHOD(put_Sort) (THIS_ BSTR Sort) PURE;
  447. STDMETHOD(get_Transactions) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  448. STDMETHOD(get_Type) (THIS_ short FAR* ps) PURE;
  449. STDMETHOD(get_RecordCount) (THIS_ long FAR* pl) PURE;
  450. STDMETHOD(get_Updatable) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  451. STDMETHOD(get_Restartable) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  452. STDMETHOD(get_ValidationText) (THIS_ BSTR FAR* pbstr) PURE;
  453. STDMETHOD(get_ValidationRule) (THIS_ BSTR FAR* pbstr) PURE;
  454. STDMETHOD(get_CacheStart) (THIS_ SAFEARRAY FAR* FAR* ppsa) PURE;
  455. STDMETHOD(put_CacheStart) (THIS_ SAFEARRAY FAR* FAR* psa) PURE;
  456. STDMETHOD(get_CacheSize) (THIS_ long FAR* pl) PURE;
  457. STDMETHOD(put_CacheSize) (THIS_ long CacheSize) PURE;
  458. STDMETHOD(get_PercentPosition) (THIS_ float FAR* pd) PURE;
  459. STDMETHOD(put_PercentPosition) (THIS_ float Position) PURE;
  460. STDMETHOD(get_AbsolutePosition) (THIS_ long FAR* pl) PURE;
  461. STDMETHOD(put_AbsolutePosition) (THIS_ long Position) PURE;
  462. STDMETHOD(get_EditMode) (THIS_ short FAR* pi) PURE;
  463. STDMETHOD(get_ODBCFetchCount) (THIS_ long FAR* pl) PURE;
  464. STDMETHOD(get_ODBCFetchDelay) (THIS_ long FAR* pl) PURE;
  465. STDMETHOD(get_Parent) (THIS_ DAODatabase FAR* FAR* pdb) PURE;
  466. STDMETHOD(get_Fields) (THIS_ DAOFields FAR* FAR* ppflds) PURE;
  467. STDMETHOD(get_Indexes) (THIS_ DAOIndexes FAR* FAR* ppidxs) PURE;
  468. STDMETHOD(CancelUpdate) (THIS) PURE;
  469. STDMETHOD(AddNew) (THIS) PURE;
  470. STDMETHOD(Close) (THIS) PURE;
  471. STDMETHOD(OpenRecordset) (THIS_ VARIANT Type, VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  472. STDMETHOD(Delete) (THIS) PURE;
  473. STDMETHOD(Edit) (THIS) PURE;
  474. STDMETHOD(FindFirst) (THIS_ BSTR Criteria) PURE;
  475. STDMETHOD(FindLast) (THIS_ BSTR Criteria) PURE;
  476. STDMETHOD(FindNext) (THIS_ BSTR Criteria) PURE;
  477. STDMETHOD(FindPrevious) (THIS_ BSTR Criteria) PURE;
  478. STDMETHOD(MoveFirst) (THIS) PURE;
  479. STDMETHOD(MoveLast) (THIS) PURE;
  480. STDMETHOD(MoveNext) (THIS) PURE;
  481. STDMETHOD(MovePrevious) (THIS) PURE;
  482. 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;
  483. STDMETHOD(Update) (THIS) PURE;
  484. STDMETHOD(Clone) (THIS_ DAORecordset FAR* FAR* pprst) PURE;
  485. STDMETHOD(Requery) (THIS_ VARIANT NewQueryDef) PURE;
  486. STDMETHOD(Move) (THIS_ long Rows, VARIANT StartBookmark) PURE;
  487. STDMETHOD(FillCache) (THIS_ VARIANT Rows, VARIANT StartBookmark) PURE;
  488. STDMETHOD(CreateDynaset) (THIS_ VARIANT Options, VARIANT Inconsistent, DAORecordset FAR* FAR* pprst) PURE;
  489. STDMETHOD(CreateSnapshot) (THIS_ VARIANT Options, DAORecordset FAR* FAR* pprst) PURE;
  490. STDMETHOD(CopyQueryDef) (THIS_ DAOQueryDef FAR* FAR* ppqdf) PURE;
  491. STDMETHOD(ListFields) (THIS_ DAORecordset FAR* FAR* pprst) PURE;
  492. STDMETHOD(ListIndexes) (THIS_ DAORecordset FAR* FAR* pprst) PURE;
  493. STDMETHOD(GetRows) (THIS_ VARIANT cRows, VARIANT FAR* pvar) PURE;
  494. STDMETHOD(get_Collect) (THIS_ VARIANT index, VARIANT FAR* pvar) PURE;
  495. STDMETHOD(put_Collect) (THIS_ VARIANT index, VARIANT value) PURE;
  496. };
  497. // Interface: DAORecordsets
  498. #undef INTERFACE
  499. #define INTERFACE DAORecordsets
  500. DECLARE_INTERFACE_(DAORecordsets, _DAOCollection)
  501. {
  502. STDMETHOD(get_Item) (THIS_ VARIANT index, DAORecordset FAR* FAR* pprst) PURE;
  503. };
  504. // Interface: _DAOField
  505. #undef INTERFACE
  506. #define INTERFACE _DAOField
  507. DECLARE_INTERFACE_(_DAOField, _DAO)
  508. {
  509. STDMETHOD(get_CollatingOrder) (THIS_ long FAR* pl) PURE;
  510. STDMETHOD(get_Type) (THIS_ short FAR* ps) PURE;
  511. STDMETHOD(put_Type) (THIS_ short Type) PURE;
  512. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  513. STDMETHOD(put_Name) (THIS_ BSTR Name) PURE;
  514. STDMETHOD(get_Size) (THIS_ long FAR* pl) PURE;
  515. STDMETHOD(put_Size) (THIS_ long Size) PURE;
  516. STDMETHOD(get_SourceField) (THIS_ BSTR FAR* pbstr) PURE;
  517. STDMETHOD(get_SourceTable) (THIS_ BSTR FAR* pbstr) PURE;
  518. STDMETHOD(get_Value) (THIS_ VARIANT FAR* pvar) PURE;
  519. STDMETHOD(put_Value) (THIS_ VARIANT Val) PURE;
  520. STDMETHOD(get_Attributes) (THIS_ long FAR* pl) PURE;
  521. STDMETHOD(put_Attributes) (THIS_ long Attr) PURE;
  522. STDMETHOD(get_OrdinalPosition) (THIS_ short FAR* ps) PURE;
  523. STDMETHOD(put_OrdinalPosition) (THIS_ short Pos) PURE;
  524. STDMETHOD(get_ValidationText) (THIS_ BSTR FAR* pbstr) PURE;
  525. STDMETHOD(put_ValidationText) (THIS_ BSTR bstr) PURE;
  526. STDMETHOD(get_ValidateOnSet) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  527. STDMETHOD(put_ValidateOnSet) (THIS_ VARIANT_BOOL Validate) PURE;
  528. STDMETHOD(get_ValidationRule) (THIS_ BSTR FAR* pbstr) PURE;
  529. STDMETHOD(put_ValidationRule) (THIS_ BSTR bstr) PURE;
  530. STDMETHOD(get_DefaultValue) (THIS_ BSTR FAR* pbstr) PURE;
  531. STDMETHOD(put_DefaultValue) (THIS_ BSTR bstr) PURE;
  532. STDMETHOD(get_Required) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  533. STDMETHOD(put_Required) (THIS_ VARIANT_BOOL fReq) PURE;
  534. STDMETHOD(get_AllowZeroLength) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  535. STDMETHOD(put_AllowZeroLength) (THIS_ VARIANT_BOOL fAllow) PURE;
  536. STDMETHOD(get_DataUpdatable) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  537. STDMETHOD(get_ForeignName) (THIS_ BSTR FAR* pbstr) PURE;
  538. STDMETHOD(put_ForeignName) (THIS_ BSTR bstr) PURE;
  539. STDMETHOD(AppendChunk) (THIS_ VARIANT Val) PURE;
  540. STDMETHOD(GetChunk) (THIS_ long Offset, long Bytes, VARIANT FAR* pvar) PURE;
  541. STDMETHOD(FieldSize) (THIS_ long FAR* pl) PURE;
  542. STDMETHOD(CreateProperty) (THIS_ VARIANT Name, VARIANT Type, VARIANT Value, VARIANT DDL, DAOProperty FAR* FAR* pprp) PURE;
  543. STDMETHOD(get_CollectionIndex) (THIS_ short FAR* i) PURE;
  544. };
  545. // Interface: DAOFields
  546. #undef INTERFACE
  547. #define INTERFACE DAOFields
  548. DECLARE_INTERFACE_(DAOFields, _DAODynaCollection)
  549. {
  550. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOField FAR* FAR* ppfld) PURE;
  551. };
  552. // Interface: _DAOIndex
  553. #undef INTERFACE
  554. #define INTERFACE _DAOIndex
  555. DECLARE_INTERFACE_(_DAOIndex, _DAO)
  556. {
  557. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  558. STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
  559. STDMETHOD(get_Foreign) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  560. STDMETHOD(get_Unique) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  561. STDMETHOD(put_Unique) (THIS_ VARIANT_BOOL fUnique) PURE;
  562. STDMETHOD(get_Clustered) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  563. STDMETHOD(put_Clustered) (THIS_ VARIANT_BOOL fClustered) PURE;
  564. STDMETHOD(get_Required) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  565. STDMETHOD(put_Required) (THIS_ VARIANT_BOOL fRequired) PURE;
  566. STDMETHOD(get_IgnoreNulls) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  567. STDMETHOD(put_IgnoreNulls) (THIS_ VARIANT_BOOL fIgnoreNulls) PURE;
  568. STDMETHOD(get_Primary) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  569. STDMETHOD(put_Primary) (THIS_ VARIANT_BOOL fPrimary) PURE;
  570. STDMETHOD(get_DistinctCount) (THIS_ long FAR* pl) PURE;
  571. STDMETHOD(get_Fields) (THIS_ VARIANT FAR* pv) PURE;
  572. STDMETHOD(put_Fields) (THIS_ VARIANT v) PURE;
  573. STDMETHOD(CreateField) (THIS_ VARIANT Name, VARIANT Type, VARIANT Size, DAOField FAR* FAR* ppfld) PURE;
  574. STDMETHOD(CreateProperty) (THIS_ VARIANT Name, VARIANT Type, VARIANT Value, VARIANT DDL, DAOProperty FAR* FAR* pprp) PURE;
  575. };
  576. // Interface: DAOIndexes
  577. #undef INTERFACE
  578. #define INTERFACE DAOIndexes
  579. DECLARE_INTERFACE_(DAOIndexes, _DAODynaCollection)
  580. {
  581. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOIndex FAR* FAR* ppidx) PURE;
  582. };
  583. // Interface: DAOIndexFields
  584. #undef INTERFACE
  585. #define INTERFACE DAOIndexFields
  586. DECLARE_INTERFACE_(DAOIndexFields, _DAODynaCollection)
  587. {
  588. STDMETHOD(get_Item) (THIS_ VARIANT index, VARIANT FAR* pvar) PURE;
  589. };
  590. // Interface: DAOParameter
  591. #undef INTERFACE
  592. #define INTERFACE DAOParameter
  593. DECLARE_INTERFACE_(DAOParameter, _DAO)
  594. {
  595. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  596. STDMETHOD(get_Value) (THIS_ VARIANT FAR* pvar) PURE;
  597. STDMETHOD(put_Value) (THIS_ VARIANT val) PURE;
  598. STDMETHOD(get_Type) (THIS_ short FAR* ps) PURE;
  599. };
  600. // Interface: DAOParameters
  601. #undef INTERFACE
  602. #define INTERFACE DAOParameters
  603. DECLARE_INTERFACE_(DAOParameters, _DAOCollection)
  604. {
  605. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOParameter FAR* FAR* ppprm) PURE;
  606. };
  607. // Interface: _DAOUser
  608. #undef INTERFACE
  609. #define INTERFACE _DAOUser
  610. DECLARE_INTERFACE_(_DAOUser, _DAO)
  611. {
  612. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  613. STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
  614. STDMETHOD(put_PID) (THIS_ BSTR bstr) PURE;
  615. STDMETHOD(put_Password) (THIS_ BSTR bstr) PURE;
  616. STDMETHOD(get_Groups) (THIS_ DAOGroups FAR* FAR* ppgrps) PURE;
  617. STDMETHOD(NewPassword) (THIS_ BSTR bstrOld, BSTR bstrNew) PURE;
  618. STDMETHOD(CreateGroup) (THIS_ VARIANT Name, VARIANT PID, DAOGroup FAR* FAR* ppgrp) PURE;
  619. };
  620. // Interface: DAOUsers
  621. #undef INTERFACE
  622. #define INTERFACE DAOUsers
  623. DECLARE_INTERFACE_(DAOUsers, _DAODynaCollection)
  624. {
  625. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOUser FAR* FAR* ppusr) PURE;
  626. };
  627. // Interface: _DAOGroup
  628. #undef INTERFACE
  629. #define INTERFACE _DAOGroup
  630. DECLARE_INTERFACE_(_DAOGroup, _DAO)
  631. {
  632. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  633. STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
  634. STDMETHOD(put_PID) (THIS_ BSTR bstr) PURE;
  635. STDMETHOD(get_Users) (THIS_ DAOUsers FAR* FAR* ppusrs) PURE;
  636. STDMETHOD(CreateUser) (THIS_ VARIANT Name, VARIANT PID, VARIANT Password, DAOUser FAR* FAR* ppusr) PURE;
  637. };
  638. // Interface: DAOGroups
  639. #undef INTERFACE
  640. #define INTERFACE DAOGroups
  641. DECLARE_INTERFACE_(DAOGroups, _DAODynaCollection)
  642. {
  643. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOGroup FAR* FAR* ppgrp) PURE;
  644. };
  645. // Interface: _DAORelation
  646. #undef INTERFACE
  647. #define INTERFACE _DAORelation
  648. DECLARE_INTERFACE_(_DAORelation, _DAO)
  649. {
  650. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  651. STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
  652. STDMETHOD(get_Table) (THIS_ BSTR FAR* pbstr) PURE;
  653. STDMETHOD(put_Table) (THIS_ BSTR bstr) PURE;
  654. STDMETHOD(get_ForeignTable) (THIS_ BSTR FAR* pbstr) PURE;
  655. STDMETHOD(put_ForeignTable) (THIS_ BSTR bstr) PURE;
  656. STDMETHOD(get_Attributes) (THIS_ long FAR* pl) PURE;
  657. STDMETHOD(put_Attributes) (THIS_ long attr) PURE;
  658. STDMETHOD(get_Fields) (THIS_ DAOFields FAR* FAR* ppflds) PURE;
  659. STDMETHOD(CreateField) (THIS_ VARIANT Name, VARIANT Type, VARIANT Size, DAOField FAR* FAR* ppfld) PURE;
  660. };
  661. // Interface: DAORelations
  662. #undef INTERFACE
  663. #define INTERFACE DAORelations
  664. DECLARE_INTERFACE_(DAORelations, _DAODynaCollection)
  665. {
  666. STDMETHOD(get_Item) (THIS_ VARIANT index, DAORelation FAR* FAR* pprel) PURE;
  667. };
  668. // Interface: DAOProperty
  669. #undef INTERFACE
  670. #define INTERFACE DAOProperty
  671. DECLARE_INTERFACE_(DAOProperty, _DAO)
  672. {
  673. STDMETHOD(get_Value) (THIS_ VARIANT FAR* pval) PURE;
  674. STDMETHOD(put_Value) (THIS_ VARIANT val) PURE;
  675. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  676. STDMETHOD(put_Name) (THIS_ BSTR bstr) PURE;
  677. STDMETHOD(get_Type) (THIS_ short FAR* ptype) PURE;
  678. STDMETHOD(put_Type) (THIS_ short type) PURE;
  679. STDMETHOD(get_Inherited) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  680. };
  681. // Interface: DAOProperties
  682. #undef INTERFACE
  683. #define INTERFACE DAOProperties
  684. DECLARE_INTERFACE_(DAOProperties, _DAODynaCollection)
  685. {
  686. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOProperty FAR* FAR* ppprop) PURE;
  687. };
  688. // Interface: DAOContainer
  689. #undef INTERFACE
  690. #define INTERFACE DAOContainer
  691. DECLARE_INTERFACE_(DAOContainer, _DAO)
  692. {
  693. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  694. STDMETHOD(get_Owner) (THIS_ BSTR FAR* pbstr) PURE;
  695. STDMETHOD(put_Owner) (THIS_ BSTR bstr) PURE;
  696. STDMETHOD(get_UserName) (THIS_ BSTR FAR* pbstr) PURE;
  697. STDMETHOD(put_UserName) (THIS_ BSTR bstr) PURE;
  698. STDMETHOD(get_Permissions) (THIS_ long FAR* pl) PURE;
  699. STDMETHOD(put_Permissions) (THIS_ long permissions) PURE;
  700. STDMETHOD(get_Inherit) (THIS_ VARIANT_BOOL FAR* pb) PURE;
  701. STDMETHOD(put_Inherit) (THIS_ VARIANT_BOOL fInherit) PURE;
  702. STDMETHOD(get_Documents) (THIS_ DAODocuments FAR* FAR* ppdocs) PURE;
  703. STDMETHOD(get_AllPermissions) (THIS_ long FAR* pl) PURE;
  704. };
  705. // Interface: DAOContainers
  706. #undef INTERFACE
  707. #define INTERFACE DAOContainers
  708. DECLARE_INTERFACE_(DAOContainers, _DAOCollection)
  709. {
  710. STDMETHOD(get_Item) (THIS_ VARIANT index, DAOContainer FAR* FAR* ppctn) PURE;
  711. };
  712. // Interface: DAODocument
  713. #undef INTERFACE
  714. #define INTERFACE DAODocument
  715. DECLARE_INTERFACE_(DAODocument, _DAO)
  716. {
  717. STDMETHOD(get_Name) (THIS_ BSTR FAR* pbstr) PURE;
  718. STDMETHOD(get_Owner) (THIS_ BSTR FAR* pbstr) PURE;
  719. STDMETHOD(put_Owner) (THIS_ BSTR bstr) PURE;
  720. STDMETHOD(get_Container) (THIS_ BSTR FAR* pbstr) PURE;
  721. STDMETHOD(get_UserName) (THIS_ BSTR FAR* pbstr) PURE;
  722. STDMETHOD(put_UserName) (THIS_ BSTR bstr) PURE;
  723. STDMETHOD(get_Permissions) (THIS_ long FAR* pl) PURE;
  724. STDMETHOD(put_Permissions) (THIS_ long permissions) PURE;
  725. STDMETHOD(get_DateCreated) (THIS_ VARIANT FAR* pvar) PURE;
  726. STDMETHOD(get_LastUpdated) (THIS_ VARIANT FAR* pvar) PURE;
  727. STDMETHOD(get_AllPermissions) (THIS_ long FAR* pl) PURE;
  728. STDMETHOD(CreateProperty) (THIS_ VARIANT Name, VARIANT Type, VARIANT Value, VARIANT DDL, DAOProperty FAR* FAR* pprp) PURE;
  729. };
  730. // Interface: DAODocuments
  731. #undef INTERFACE
  732. #define INTERFACE DAODocuments
  733. DECLARE_INTERFACE_(DAODocuments, _DAOCollection)
  734. {
  735. STDMETHOD(get_Item) (THIS_ VARIANT index, DAODocument FAR* FAR* ppdoc) PURE;
  736. };
  737. #endif // _DBDAOINT_H_