home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2000 September / VPR0009A.BIN / VS60SP4JPN / support / dbdaoid.h < prev    next >
Text File  |  1998-12-12  |  21KB  |  546 lines

  1. /************************************************************************
  2. **    D B D A O I D . H                                                    *
  3. **                                                                        *
  4. **        History                                                         *
  5. **        -------                                                         *
  6. **    09-05-93       peterdi        Creation                                      *
  7. **    09-17-93    wolfma        GUID's added                                *
  8. **                                                                        *
  9. **    OLE DAO component class id definitions                                *
  10. **    DAO has been allocated the GUID::Data1 range of 0x00025eXX            *
  11. **                                                                        *
  12. *************************************************************************
  13. ** Copyright (C) 1992 and 1993 by Microsoft Corporation                     *
  14. **           All Rights Reserved                                             *
  15. ** Information Contained Herein Is Proprietary and Confidential.         *
  16. ************************************************************************/
  17.  
  18. /*
  19.     NOTES:
  20.  
  21.     *    Do not reuse the defunct GUIDs specified at the bottom of this file.
  22.  
  23.     *    All UNICODE OLE Automation interface IDs must be the same as the ANSI
  24.         interface IDs with exception that Data1 is offset +1.
  25.         (This is so that wide interfaces can be generated automatically)
  26.  
  27.     *    All UNICODE IID_... names must be the same as the ANSI IID_... name
  28.         with a "W" appended to the end.
  29.  
  30.     (peterdi)
  31.  
  32.     *    For versions 3.5, 4.0 and beyond, DAO was assigned a new range of
  33.         GUIDs for our use.  DEFINE-DAOGUID replaces the standard macro
  34.         DEFINE-OLEGUID and applies the DAO base range to the id being
  35.         defined.  DAO 3.5 has reserved 0x00000000 - 0x000000FF.  If more
  36.         are needed they must not conflict with DAO 4.0's range which is
  37.         based at 0x00000100.
  38.  
  39.     *    Since 3.5 uses a completely different base range I've dispensed
  40.         with the list of defunct GUIDs from previous versions.  The list
  41.         at the bottom of this file is now restriced to only defunct GUIDS
  42.         for the 3.5 version.
  43.  
  44.     (markbue)
  45.  
  46.  
  47.     *    The pre-3.5 GUIDs have been redefined with "30" added to the ID. For example:
  48.  
  49.             IID_IDAOIndex becomes IID30_IDAOIndex
  50.  
  51.         This way both the 30 and 3.5 GUIDs can be used at once (see bugs 1214, 1271) jcm 5/96
  52. */
  53.  
  54. // Because this file is consumed by an AWK script DO NOT use DEFINE_ OLEGUID or DEFINE_ DAOGUID
  55. // in comments (change to DEFINE-OLEGUID or DEFINE-DAOGUID) - 1/97 jcm
  56.  
  57.  
  58. // This is a gross little hack which allows VBA programmers access to context sensative help
  59. // from within SQL strings -- click the help button on SELECT from a SQL string and it will
  60. // jump to the help topic.  This has absolutely nothing to do with DAO and should be removed
  61. // from our code.  But for now, we're hosting this poor little orphan so be nice and don't
  62. // kick it out yet.... [mab June '96]
  63. DEFINE_OLEGUID(LIBID_CJETSQLHELP,        0x00025f01, 0, 0);
  64.  
  65.  
  66. // Define a local macro which will build GUIDS in the assigned DAO range.  We cannot
  67. // use the standard DEFINE-OLEGUID macro because it assigns from a different base range
  68. // than what we have been assigned.  [mab 9/27/95]
  69. #define DEFINE_DAOGUID(name, l) \
  70.     DEFINE_GUID(name, l, 0, 0x10, 0x80,0,0,0xAA,0,0x6D,0x2E,0xA4)
  71.  
  72.  
  73. // Type library
  74. DEFINE_OLEGUID(LIBID_CDAO,                0x00025e01, 0, 0);
  75. DEFINE_OLEGUID(LIBID_CDAO25,            0x00025e04, 0, 0);
  76.  
  77. // Old BETA Type library IDs 
  78. DEFINE_DAOGUID(BETA_LIBID_CDAO,                0x00000001);
  79. DEFINE_DAOGUID(BETA_LIBID_CDAO25,            0x00000002);
  80.  
  81. // StdObject
  82. DEFINE_DAOGUID(IID_IDAOStdObject,        0x0000000A);
  83.  
  84. // StdCollection
  85. DEFINE_DAOGUID(IID_IDAOStdCollection,    0x0000000C);
  86.  
  87. // Creatable Classes
  88. DEFINE_DAOGUID(CLSID_CDAODBEngine,        0x00000100);
  89. DEFINE_DAOGUID(CLSID_CDAOPrivDBEngine,    0x00000101);
  90. DEFINE_DAOGUID(CLSID_CDAOConnection,    0x00000102);
  91. DEFINE_DAOGUID(CLSID_CDAOTableDef,        0x00000103);
  92. DEFINE_DAOGUID(CLSID_CDAOField,         0x00000104);
  93. DEFINE_DAOGUID(CLSID_CDAOIndex,         0x00000105);
  94. DEFINE_DAOGUID(CLSID_CDAOGroup,         0x00000106);
  95. DEFINE_DAOGUID(CLSID_CDAOUser,            0x00000107);
  96. DEFINE_DAOGUID(CLSID_CDAOQueryDef,        0x00000108);
  97. DEFINE_DAOGUID(CLSID_CDAORelation,        0x00000109);
  98.  
  99. //DAO3.5 creatable objects
  100. DEFINE_DAOGUID(CLSID35_CDAODBEngine,        0x00000010);
  101. DEFINE_DAOGUID(CLSID35_CDAOPrivDBEngine,    0x00000011);
  102. DEFINE_DAOGUID(CLSID35_CDAOConnection,    0x00000012);
  103. DEFINE_DAOGUID(CLSID35_CDAOTableDef,        0x00000013);
  104. DEFINE_DAOGUID(CLSID35_CDAOField,         0x00000014);
  105. DEFINE_DAOGUID(CLSID35_CDAOIndex,         0x00000015);
  106. DEFINE_DAOGUID(CLSID35_CDAOGroup,         0x00000016);
  107. DEFINE_DAOGUID(CLSID35_CDAOUser,            0x00000017);
  108. DEFINE_DAOGUID(CLSID35_CDAOQueryDef,        0x00000018);
  109. DEFINE_DAOGUID(CLSID35_CDAORelation,        0x00000019);
  110.  
  111. /*    Do not currently support creating these CDAO objects
  112.  * CLSID_CDAOWorkspace
  113.  * CLSID_CDAODatabase
  114.  * CLSID_CDAORecordset
  115.  * CLSID_CDAOParameter
  116.  * CLSID_CDAOProperty
  117.  * CLSID_CDAOContainer
  118.  * CLSID_CDAODocument
  119.  */
  120.  
  121. // DBEngine
  122. DEFINE_DAOGUID(IID_IDAODBEngine,        0x00000020);
  123. DEFINE_DAOGUID(IID_IDAODBEngineW,        0x00000021);
  124.  
  125. // Error
  126. DEFINE_DAOGUID(IID_IDAOError,            0x00000022);
  127. DEFINE_DAOGUID(IID_IDAOErrorW,            0x00000023);
  128. DEFINE_DAOGUID(IID_IDAOErrors,            0x00000024);
  129. DEFINE_DAOGUID(IID_IDAOErrorsW,            0x00000025);
  130.  
  131. // Property
  132. DEFINE_DAOGUID(IID_IDAOProperty,        0x00000026);
  133. DEFINE_DAOGUID(IID_IDAOPropertyW,        0x00000027);
  134. DEFINE_DAOGUID(IID_IDAOProperties,        0x00000028);
  135. DEFINE_DAOGUID(IID_IDAOPropertiesW,        0x00000029);
  136.  
  137. // Recordset
  138. DEFINE_DAOGUID(IID_IDAORecordset,        0x00000030);
  139. DEFINE_DAOGUID(IID_IDAORecordsetW,        0x00000031);
  140. DEFINE_DAOGUID(IID_IDAORecordsets,        0x00000032);
  141. DEFINE_DAOGUID(IID_IDAORecordsetsW,        0x00000033);
  142. DEFINE_OLEGUID(IID_ICDAORecordset,        0x00025e31, 0, 0);    //same as it was in 3.0
  143. //DEFINE-DAOGUID(IID_ICDAORecordset,        0x000000C0);
  144. //DEFINE-DAOGUID(IID_ICRDORecordset,        0x000000C1);
  145.  
  146. // Workspace
  147. DEFINE_DAOGUID(IID_IDAOWorkspace,        0x00000038);
  148. DEFINE_DAOGUID(IID_IDAOWorkspaceW,        0x00000039);
  149. DEFINE_DAOGUID(IID_IDAOWorkspaces,        0x0000003A);
  150. DEFINE_DAOGUID(IID_IDAOWorkspacesW,        0x0000003B);
  151.  
  152. // Connection
  153. DEFINE_DAOGUID(IID_IDAOConnection,        0x00000040);
  154. DEFINE_DAOGUID(IID_IDAOConnectionW,        0x00000041);
  155. DEFINE_DAOGUID(IID_IDAOConnections,        0x00000042);
  156. DEFINE_DAOGUID(IID_IDAOConnectionsW,    0x00000043);
  157.  
  158. // TableDef
  159. DEFINE_DAOGUID(IID_IDAOTableDef,        0x00000048);
  160. DEFINE_DAOGUID(IID_IDAOTableDefW,        0x00000049);
  161. DEFINE_DAOGUID(IID_IDAOTableDefs,        0x0000004A);
  162. DEFINE_DAOGUID(IID_IDAOTableDefsW,        0x0000004B);
  163.  
  164. // Field
  165. DEFINE_DAOGUID(IID_IDAOField,            0x00000050);
  166. DEFINE_DAOGUID(IID_IDAOFieldW,            0x00000051);
  167. DEFINE_DAOGUID(IID_IDAOFields,            0x00000052);
  168. DEFINE_DAOGUID(IID_IDAOFieldsW,            0x00000053);
  169.  
  170. // Index
  171. DEFINE_DAOGUID(IID_IDAOIndex,            0x00000058);
  172. DEFINE_DAOGUID(IID_IDAOIndexW,            0x00000059);
  173. DEFINE_DAOGUID(IID_IDAOIndexes,            0x0000005A);
  174. DEFINE_DAOGUID(IID_IDAOIndexesW,        0x0000005B);
  175. //UNDONE:  Can we get rid of this?  The Index Fields problem should
  176. // be able to go away since 3.5 doesn't support 2.x syntaxes.
  177. DEFINE_DAOGUID(IID_IDAOIndexFields,        0x0000005C);
  178. DEFINE_DAOGUID(IID_IDAOIndexFieldsW,    0x0000005D);
  179.  
  180. // Group
  181. DEFINE_DAOGUID(IID_IDAOGroup,            0x00000060);
  182. DEFINE_DAOGUID(IID_IDAOGroupW,            0x00000061);
  183. DEFINE_DAOGUID(IID_IDAOGroups,            0x00000062);
  184. DEFINE_DAOGUID(IID_IDAOGroupsW,            0x00000063);
  185.  
  186. // User
  187. DEFINE_DAOGUID(IID_IDAOUser,            0x00000068);
  188. DEFINE_DAOGUID(IID_IDAOUserW,            0x00000069);
  189. DEFINE_DAOGUID(IID_IDAOUsers,            0x0000006A);
  190. DEFINE_DAOGUID(IID_IDAOUsersW,            0x0000006B);
  191.  
  192. // Database
  193. DEFINE_DAOGUID(IID_IDAODatabase,        0x00000070);
  194. DEFINE_DAOGUID(IID_IDAODatabaseW,        0x00000071);
  195. DEFINE_DAOGUID(IID_IDAODatabases,        0x00000072);
  196. DEFINE_DAOGUID(IID_IDAODatabasesW,        0x00000073);
  197.  
  198. // QueryDef
  199. DEFINE_DAOGUID(IID_IDAOQueryDef,        0x00000078);
  200. DEFINE_DAOGUID(IID_IDAOQueryDefW,        0x00000079);
  201. DEFINE_DAOGUID(IID_IDAOQueryDefs,        0x0000007A);
  202. DEFINE_DAOGUID(IID_IDAOQueryDefsW,        0x0000007B);
  203.  
  204. // Parameter
  205. DEFINE_DAOGUID(IID_IDAOParameter,        0x00000080);
  206. DEFINE_DAOGUID(IID_IDAOParameterW,        0x00000081);
  207. DEFINE_DAOGUID(IID_IDAOParameters,        0x00000082);
  208. DEFINE_DAOGUID(IID_IDAOParametersW,        0x00000083);
  209.  
  210. // Relation
  211. DEFINE_DAOGUID(IID_IDAORelation,        0x00000088);
  212. DEFINE_DAOGUID(IID_IDAORelationW,        0x00000089);
  213. DEFINE_DAOGUID(IID_IDAORelations,        0x0000008A);
  214. DEFINE_DAOGUID(IID_IDAORelationsW,        0x0000008B);
  215.  
  216. // Container
  217. DEFINE_DAOGUID(IID_IDAOContainer,        0x00000090);
  218. DEFINE_DAOGUID(IID_IDAOContainerW,        0x00000091);
  219. DEFINE_DAOGUID(IID_IDAOContainers,        0x00000092);
  220. DEFINE_DAOGUID(IID_IDAOContainersW,        0x00000093);
  221.  
  222. // Document
  223. DEFINE_DAOGUID(IID_IDAODocument,        0x00000098);
  224. DEFINE_DAOGUID(IID_IDAODocumentW,        0x00000099);
  225. DEFINE_DAOGUID(IID_IDAODocuments,        0x0000009A);
  226. DEFINE_DAOGUID(IID_IDAODocumentsW,        0x0000009B);
  227.  
  228. // Collections (how are these used?  mab 9/27/95)
  229. DEFINE_DAOGUID(IID_IDAOCollection,        0x000000A0);
  230. DEFINE_DAOGUID(IID_IDAODynaCollection,    0x000000A2);
  231.  
  232. // Connection points (how are these used?  mab 9/27/95)
  233. DEFINE_DAOGUID(IID_IDAOQueryCP,            0x000000B0);    // Connection point
  234. DEFINE_DAOGUID(IID_IDAOQueryAS,            0x000000B2);    // Advise sink interface
  235.  
  236. // A few private interfaces, mostly for use by Access.
  237. DEFINE_DAOGUID(IID_ICDAOJETDBEngine,    0x000000A0);    //Access uses this.
  238. DEFINE_DAOGUID(IID_ICDAOJETError,        0x000000A1);
  239. DEFINE_DAOGUID(IID_ICDAOJETRecordset,    0x000000A2);
  240. DEFINE_DAOGUID(IID_ICDAOJETWorkspace,    0x000000A3);
  241. DEFINE_DAOGUID(IID_ICDAOJETField,        0x000000A4);
  242. DEFINE_DAOGUID(IID_ICDAOJETDatabase,    0x000000A5);
  243.  
  244. //UNDONE:  These are defunct interfaces, not supported by DAO 3.4, so
  245. // we should remove them completely.  For now, I'll just give them very
  246. // large GUIDS in our assigned range.  [mab 9/27/95]
  247.  
  248. // Snapshot
  249. DEFINE_DAOGUID(IID_IDAOSnapshot,        0x000000FD);
  250.  
  251. // Table
  252. DEFINE_DAOGUID(IID_IDAOTable,            0x000000FE);
  253.  
  254. // Dynaset
  255. DEFINE_DAOGUID(IID_IDAODynaset,            0x000000FF);
  256.  
  257.  
  258. // Tell Access that this RS can do Form Recordset stuff 10/98 jcm
  259. DEFINE_DAOGUID(IID_IDAOFormRecordset,    0x000000FA);
  260.  
  261.  
  262. /**************************************
  263. * Disconnect Interfaces
  264. *
  265. *    TODO:  Need confirmation from Dave Stutz
  266. */
  267. DEFINE_GUID(IID_IDisconnect,    0xB196B288,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  268. DEFINE_GUID(IID_IDisconnectAll,    0xB196B289,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  269.  
  270. /**************************************
  271. * Data Source Control Interfaces
  272. *
  273. *    TODO:  Need to get these from VB!
  274. */
  275. //UNDONE:  ? Why do we need to get these from vb?  They should
  276. // be getting them from us shouldn't they?  I'll comment out the
  277. // old GUIDs here but I'm changing them to the new range. [mab 9/27/95]
  278. //DEFINE-OLEGUID(IID_IDSCAdviseSink,        0x00025EFEL, 0, 0);
  279. //DEFINE-OLEGUID(IID_IDSCConnectionPoint,    0x00025EFFL, 0, 0);
  280. DEFINE_DAOGUID(IID_IDSCAdviseSink,        0x000000E0);
  281. DEFINE_DAOGUID(IID_IDSCConnectionPoint,    0x000000E2);
  282.  
  283. // Database connection points
  284. DEFINE_DAOGUID(IID_IDBAdviseSink,        0x000000E8);
  285. DEFINE_DAOGUID(IID_IDBConnectionPoint,    0x000000EA);
  286.  
  287. /* Defunct GUIDS!!!! Do not reuse!!!!
  288.  * DAO versions 2.5 and 3.0 used DEFINE_OLEGUID to create guids in the
  289.  * standard Microsoft OLE range.  We now have own private range and use
  290.  * DEFINE-DAOGUID to generate them.  Rather list explicitly all the old
  291.  * GUIDS for 2.5 and 3.0 we will simply declare that all GUIDS generated
  292.  * by the standard DEFINE_OLEGUID with a Data1 value in the range of
  293.  * 0x00025EF00 through 0x00025EFFF are hereby defunct.
  294.  *
  295.  * Listed below will be only the guids which have been retired from the
  296.  * DEFINE-DAOGUID range.  [mab 9/27/95]
  297.  */
  298.  
  299. // <There are no defunct guids yet.  Remeber to remove this comment when
  300. // you do retire some guids!>
  301.  
  302.  
  303.  
  304. // Type library
  305. DEFINE_OLEGUID(LIBID30_CDAO,                0x00025e01, 0, 0);
  306. DEFINE_OLEGUID(LIBID30_CDAO25,            0x00025e04, 0, 0);
  307.  
  308. // StdObject
  309. DEFINE_OLEGUID(IID30_IDAOStdObject,        0x00025e02, 0, 0);
  310.  
  311. // StdCollection
  312. DEFINE_OLEGUID(IID30_IDAOStdCollection,    0x00025e03, 0, 0);
  313.  
  314. /*
  315.     NOTES:
  316.  
  317.     * Two sets of CLSIDs exist for the DBEngine object.
  318.     * DBEngine and DBEngine30.  The 30 extension means
  319.     * that this engine should load the 3.0 typelibrary
  320.     * from the registry.  Otherwise, load the 2.5/3.0
  321.     * compatability type library
  322.  
  323.     (daxh)
  324. */
  325.  
  326. // DBEngine
  327. DEFINE_OLEGUID(CLSID30_CDAODBEngine,        0x00025e15, 0, 0);
  328. DEFINE_OLEGUID(IID30_IDAODBEngine,        0x00025e16, 0, 0);
  329. DEFINE_OLEGUID(IID30_IDAODBEngineW,        0x00025e17, 0, 0);
  330. DEFINE_OLEGUID(IID30_ICDAOJETDBEngine,    0x00025e18, 0, 0);
  331. DEFINE_OLEGUID(CLSID30_CDAOPrivDBEngine,    0x00025e19, 0, 0);
  332.  
  333. // Error
  334. DEFINE_OLEGUID(IID30_IDAOError,            0x00025e1d, 0, 0);
  335. DEFINE_OLEGUID(IID30_IDAOErrorW,            0x00025e1e, 0, 0);
  336. DEFINE_OLEGUID(IID30_IDAOErrors,            0x00025e1f, 0, 0);
  337. DEFINE_OLEGUID(IID30_IDAOErrorsW,            0x00025e20, 0, 0);
  338. DEFINE_OLEGUID(IID30_ICDAOJETError,        0x00025e21, 0, 0);    //used by Access, goes away post 3.0
  339.  
  340. // Property
  341. DEFINE_OLEGUID(IID30_IDAOProperty,        0x00025e25, 0, 0);
  342. DEFINE_OLEGUID(IID30_IDAOPropertyW,        0x00025e26, 0, 0);
  343. DEFINE_OLEGUID(IID30_IDAOProperties,        0x00025e27, 0, 0);
  344. DEFINE_OLEGUID(IID30_IDAOPropertiesW,        0x00025e28, 0, 0);
  345.  
  346. // Recordset
  347. DEFINE_OLEGUID(IID30_IDAORecordset,        0x00025e2d, 0, 0);
  348. DEFINE_OLEGUID(IID30_IDAORecordsetW,        0x00025e2e, 0, 0);
  349. DEFINE_OLEGUID(IID30_IDAORecordsets,        0x00025e2f, 0, 0);
  350. DEFINE_OLEGUID(IID30_IDAORecordsetsW,        0x00025e30, 0, 0);
  351. DEFINE_OLEGUID(IID30_ICDAORecordset,        0x00025e31, 0, 0);    //NOTE: No change for 3.1 or 3.5
  352. DEFINE_OLEGUID(IID30_ICDAOJETRecordset,    0x00025e32, 0, 0);
  353.  
  354. // Snapshot
  355. DEFINE_OLEGUID(IID30_IDAOSnapshot,        0x00025e33, 0, 0);
  356.  
  357. // Table
  358. DEFINE_OLEGUID(IID30_IDAOTable,            0x00025e34, 0, 0);
  359.  
  360. // Dynaset
  361. DEFINE_OLEGUID(IID30_IDAODynaset,            0x00025e35, 0, 0);
  362.  
  363. // Workspace
  364. DEFINE_OLEGUID(IID30_IDAOWorkspace,        0x00025e3a, 0, 0);
  365. DEFINE_OLEGUID(IID30_IDAOWorkspaceW,        0x00025e3b, 0, 0);
  366. DEFINE_OLEGUID(IID30_IDAOWorkspaces,        0x00025e3c, 0, 0);
  367. DEFINE_OLEGUID(IID30_IDAOWorkspacesW,        0x00025e3d, 0, 0);
  368. DEFINE_OLEGUID(IID30_ICDAOJETWorkspace,    0x00025e3e, 0, 0);
  369.  
  370. // Connection (new to 3.1)
  371. DEFINE_OLEGUID(CLSID30_CDAOConnection,    0x00025eb1, 0, 0);
  372. DEFINE_OLEGUID(IID30_IDAOConnection,        0x00025eb2, 0, 0);
  373. DEFINE_OLEGUID(IID30_IDAOConnectionW,        0x00025eb3, 0, 0);
  374. DEFINE_OLEGUID(IID30_IDAOConnections,        0x00025eb4, 0, 0);
  375. DEFINE_OLEGUID(IID30_IDAOConnectionsW,    0x00025eb5, 0, 0);
  376.  
  377. // TableDef
  378. DEFINE_OLEGUID(CLSID30_CDAOTableDef,        0x00025e43, 0, 0);
  379. DEFINE_OLEGUID(IID30_IDAOTableDef,        0x00025e44, 0, 0);
  380. DEFINE_OLEGUID(IID30_IDAOTableDefW,        0x00025e45, 0, 0);
  381. DEFINE_OLEGUID(IID30_IDAOTableDefs,        0x00025e46, 0, 0);
  382. DEFINE_OLEGUID(IID30_IDAOTableDefsW,        0x00025e47, 0, 0);
  383.  
  384. // Field
  385. DEFINE_OLEGUID(CLSID30_CDAOField,         0x00025e4c, 0, 0);
  386. DEFINE_OLEGUID(IID30_IDAOField,            0x00025e4d, 0, 0);
  387. DEFINE_OLEGUID(IID30_IDAOFieldW,            0x00025e4e, 0, 0);
  388. DEFINE_OLEGUID(IID30_IDAOFields,            0x00025e4f, 0, 0);
  389. DEFINE_OLEGUID(IID30_IDAOFieldsW,            0x00025e50, 0, 0);
  390. //DEFINE-OLEGUID(IID30_ICDAOJETField,        0x00025e51, 0, 0);    //used by Access, goes away post 3.0
  391. DEFINE_OLEGUID(IID30_ICDAOJETField,        0x00025e49, 0, 0);    //used by Access, goes away post 3.0
  392.  
  393. // Index
  394. DEFINE_OLEGUID(CLSID30_CDAOIndex,         0x00025e55, 0, 0);
  395. DEFINE_OLEGUID(IID30_IDAOIndex,            0x00025e56, 0, 0);
  396. DEFINE_OLEGUID(IID30_IDAOIndexW,            0x00025ed7, 0, 0);
  397. DEFINE_OLEGUID(IID30_IDAOIndexes,            0x00025e58, 0, 0);
  398. DEFINE_OLEGUID(IID30_IDAOIndexesW,        0x00025e59, 0, 0);
  399. DEFINE_OLEGUID(IID30_IDAOIndexFields,        0x00025e5a, 0, 0);
  400. DEFINE_OLEGUID(IID30_IDAOIndexFieldsW,    0x00025e5b, 0, 0);
  401.  
  402. // Group
  403. DEFINE_OLEGUID(CLSID30_CDAOGroup,         0x00025e5f, 0, 0);
  404. DEFINE_OLEGUID(IID30_IDAOGroup,            0x00025e60, 0, 0);
  405. DEFINE_OLEGUID(IID30_IDAOGroupW,            0x00025e61, 0, 0);
  406. DEFINE_OLEGUID(IID30_IDAOGroups,            0x00025e62, 0, 0);
  407. DEFINE_OLEGUID(IID30_IDAOGroupsW,            0x00025e63, 0, 0);
  408.  
  409. // User
  410. DEFINE_OLEGUID(CLSID30_CDAOUser,            0x00025e68, 0, 0);
  411. DEFINE_OLEGUID(IID30_IDAOUser,            0x00025e69, 0, 0);
  412. DEFINE_OLEGUID(IID30_IDAOUserW,            0x00025e6a, 0, 0);
  413. DEFINE_OLEGUID(IID30_IDAOUsers,            0x00025e6b, 0, 0);
  414. DEFINE_OLEGUID(IID30_IDAOUsersW,            0x00025e6c, 0, 0);
  415.  
  416. // Database
  417. DEFINE_OLEGUID(IID30_IDAODatabase,        0x00025e71, 0, 0);
  418. DEFINE_OLEGUID(IID30_IDAODatabaseW,        0x00025e72, 0, 0);
  419. DEFINE_OLEGUID(IID30_IDAODatabases,        0x00025e73, 0, 0);
  420. DEFINE_OLEGUID(IID30_IDAODatabasesW,        0x00025e74, 0, 0);
  421. DEFINE_OLEGUID(IID30_ICDAOJETDatabase,    0x00025e75, 0, 0);
  422.  
  423. // QueryDef
  424. DEFINE_OLEGUID(CLSID30_CDAOQueryDef,        0x00025e7a, 0, 0);
  425. DEFINE_OLEGUID(IID30_IDAOQueryDef,        0x00025e7b, 0, 0);
  426. DEFINE_OLEGUID(IID30_IDAOQueryDefW,        0x00025e7c, 0, 0);
  427. DEFINE_OLEGUID(IID30_IDAOQueryDefs,        0x00025e7d, 0, 0);
  428. DEFINE_OLEGUID(IID30_IDAOQueryDefsW,        0x00025e7e, 0, 0);
  429.  
  430. // Parameter
  431. DEFINE_OLEGUID(IID30_IDAOParameter,        0x00025e83, 0, 0);
  432. DEFINE_OLEGUID(IID30_IDAOParameterW,        0x00025e84, 0, 0);
  433. DEFINE_OLEGUID(IID30_IDAOParameters,        0x00025e85, 0, 0);
  434. DEFINE_OLEGUID(IID30_IDAOParametersW,        0x00025e86, 0, 0);
  435.  
  436. // Relation
  437. DEFINE_OLEGUID(CLSID30_CDAORelation,        0x00025e8b, 0, 0);
  438. DEFINE_OLEGUID(IID30_IDAORelation,        0x00025e8c, 0, 0);
  439. DEFINE_OLEGUID(IID30_IDAORelationW,        0x00025e8d, 0, 0);
  440. DEFINE_OLEGUID(IID30_IDAORelations,        0x00025e8e, 0, 0);
  441. DEFINE_OLEGUID(IID30_IDAORelationsW,        0x00025e8f, 0, 0);
  442.  
  443. // Container
  444. DEFINE_OLEGUID(IID30_IDAOContainer,        0x00025e94, 0, 0);
  445. DEFINE_OLEGUID(IID30_IDAOContainerW,        0x00025e95, 0, 0);
  446. DEFINE_OLEGUID(IID30_IDAOContainers,        0x00025e96, 0, 0);
  447. DEFINE_OLEGUID(IID30_IDAOContainersW,        0x00025e97, 0, 0);
  448.  
  449. // Document
  450. DEFINE_OLEGUID(IID30_IDAODocument,        0x00025e9c, 0, 0);
  451. DEFINE_OLEGUID(IID30_IDAODocumentW,        0x00025e9d, 0, 0);
  452. DEFINE_OLEGUID(IID30_IDAODocuments,        0x00025e9e, 0, 0);
  453. DEFINE_OLEGUID(IID30_IDAODocumentsW,        0x00025e9f, 0, 0);
  454.  
  455. // Collections
  456. DEFINE_OLEGUID(IID30_IDAOCollection,        0x00025ea4, 0, 0);
  457. DEFINE_OLEGUID(IID30_IDAODynaCollection,    0x00025ea5, 0, 0);
  458.  
  459. // Connection points
  460. DEFINE_OLEGUID(IID30_IDAOQueryCP,            0x00025eaa, 0, 0);    // Connection point
  461. DEFINE_OLEGUID(IID30_IDAOQueryAS,            0x00025eab, 0, 0);    // Advise sink interface
  462.  
  463. /**************************************
  464. * Disconnect Interfaces
  465. *
  466. *    TODO:  Need confirmation from Dave Stutz
  467. */
  468. DEFINE_GUID(IID30_IDisconnect,    0xB196B288,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  469. DEFINE_GUID(IID30_IDisconnectAll,    0xB196B289,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  470.  
  471. /**************************************
  472. * Data Source Control Interfaces
  473. *
  474. *    TODO:  Need to get these from VB!
  475. */
  476. DEFINE_OLEGUID(IID30_IDSCAdviseSink,        0x00025EFEL, 0, 0);
  477. DEFINE_OLEGUID(IID30_IDSCConnectionPoint,    0x00025EFFL, 0, 0);
  478.  
  479. // Database connection points
  480. DEFINE_OLEGUID(IID30_IDBAdviseSink,        0x00025EFCL, 0, 0);
  481. DEFINE_OLEGUID(IID30_IDBConnectionPoint,    0x00025EFDL, 0, 0);
  482.  
  483. /* Defunct GUIDS!!!! Do not reuse!!!!
  484. *(LIBID_CDAO,    0x00025e00, 0, 0);
  485. *(CLSID_CDAODBEngine,  0x00025e11, 0, 0);
  486. */
  487.  
  488. /*    Do not currently support creating these CDAO objects
  489. *(CLSID_CDAOWorkspace,  0x00025exx, 0, 0);
  490. *(CLSID_CDAODatabase,  0x00025exx, 0, 0);
  491. *(CLSID_CDAORecordset,  0x00025exx, 0, 0);
  492. *(CLSID_CDAOParameter,  0x00025exx, 0, 0);
  493. *(CLSID_CDAOProperty,  0x00025exx, 0, 0);
  494. *(CLSID_CDAOContainer,  0x00025exx, 0, 0);
  495. *(CLSID_CDAODocument,  0x00025exx, 0, 0);
  496. */
  497.  
  498. /* OLD ids
  499. *(CLSID_CDAODBEngineConfig,0x00025e10, 0, 0);
  500. *(IID_IDAODBEngineConfig, 0x00025e30, 0, 0);
  501. *(IID_DDAODBEngineConfig, 0x00025e50, 0, 0);
  502. */
  503.  
  504. /* Dispinterfaces no longer used
  505. *(IID_DDAODynaset,   0x00025e66, 0, 0);
  506. *(IID_DDAOTable,   0x00025e64, 0, 0);
  507. *(IID_DDAOSnapshot,  0x00025e65, 0, 0);
  508. *(IID_DDAORecordsets,  0x00025e6b, 0, 0);
  509. *(IID_DDAORecordset,   0x00025e56, 0, 0);
  510. *(IID_DDAOProperties,  0x00025e75, 0, 0);
  511. *(IID_DDAOProperty,  0x00025e5d, 0, 0);
  512. *(IID_DDAOErrors,   0x00025e63, 0, 0);
  513. *(IID_DDAOError,   0x00025e62, 0, 0);
  514. *(IID_DDAODBEngine,  0x00025e51, 0, 0);
  515. *(IID_DDAOWorkspace,   0x00025e52, 0, 0);
  516. *(IID_DDAODatabase,  0x00025e53, 0, 0);
  517. *(IID_DDAOTableDef,  0x00025e54, 0, 0);
  518. *(IID_DDAOQueryDef,  0x00025e55, 0, 0);
  519. *(IID_DDAOField,    0x00025e57, 0, 0);
  520. *(IID_DDAOIndex,    0x00025e58, 0, 0);
  521. *(IID_DDAOParameter,   0x00025e59, 0, 0);
  522. *(IID_DDAOUser,   0x00025e5a, 0, 0);
  523. *(IID_DDAOGroup,    0x00025e5b, 0, 0);
  524. *(IID_DDAORelation,  0x00025e5c, 0, 0);
  525. *(IID_DDAOContainer,   0x00025e5e, 0, 0);
  526. *(IID_DDAODocument,  0x00025e5f, 0, 0);
  527. *(IID_DDAOCollection,  0x00025e60, 0, 0);
  528. *(IID_DDAODynaCollection, 0x00025e61, 0, 0);
  529. *(IID_DDAOWorkspaces,  0x00025e67, 0, 0);
  530. *(IID_DDAODatabases,  0x00025e68, 0, 0);
  531. *(IID_DDAOTableDefs,  0x00025e69, 0, 0);
  532. *(IID_DDAOQueryDefs,  0x00025e6a, 0, 0);
  533. *(IID_DDAOFields,   0x00025e6c, 0, 0);
  534. *(IID_DDAOIndexFields,  0x00025e6d, 0, 0);
  535. *(IID_DDAOIndexes,   0x00025e6e, 0, 0);
  536. *(IID_DDAOParameters,  0x00025e6f, 0, 0);
  537. *(IID_DDAOUsers,   0x00025e70, 0, 0);
  538. *(IID_DDAOGroups,   0x00025e71, 0, 0);
  539. *(IID_DDAORelations,  0x00025e72, 0, 0);
  540. *(IID_DDAOContainers,  0x00025e73, 0, 0);
  541. *(IID_DDAODocuments,  0x00025e74, 0, 0);
  542. */
  543.  
  544.  
  545.  
  546.