home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / dbdaoid.h < prev    next >
Text File  |  1998-04-25  |  21KB  |  541 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. * Disconnect Interfaces
  259. *
  260. *    TODO:  Need confirmation from Dave Stutz
  261. */
  262. DEFINE_GUID(IID_IDisconnect,    0xB196B288,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  263. DEFINE_GUID(IID_IDisconnectAll,    0xB196B289,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  264.  
  265. /**************************************
  266. * Data Source Control Interfaces
  267. *
  268. *    TODO:  Need to get these from VB!
  269. */
  270. //UNDONE:  ? Why do we need to get these from vb?  They should
  271. // be getting them from us shouldn't they?  I'll comment out the
  272. // old GUIDs here but I'm changing them to the new range. [mab 9/27/95]
  273. //DEFINE-OLEGUID(IID_IDSCAdviseSink,        0x00025EFEL, 0, 0);
  274. //DEFINE-OLEGUID(IID_IDSCConnectionPoint,    0x00025EFFL, 0, 0);
  275. DEFINE_DAOGUID(IID_IDSCAdviseSink,        0x000000E0);
  276. DEFINE_DAOGUID(IID_IDSCConnectionPoint,    0x000000E2);
  277.  
  278. // Database connection points
  279. DEFINE_DAOGUID(IID_IDBAdviseSink,        0x000000E8);
  280. DEFINE_DAOGUID(IID_IDBConnectionPoint,    0x000000EA);
  281.  
  282. /* Defunct GUIDS!!!! Do not reuse!!!!
  283.  * DAO versions 2.5 and 3.0 used DEFINE_OLEGUID to create guids in the
  284.  * standard Microsoft OLE range.  We now have own private range and use
  285.  * DEFINE-DAOGUID to generate them.  Rather list explicitly all the old
  286.  * GUIDS for 2.5 and 3.0 we will simply declare that all GUIDS generated
  287.  * by the standard DEFINE_OLEGUID with a Data1 value in the range of
  288.  * 0x00025EF00 through 0x00025EFFF are hereby defunct.
  289.  *
  290.  * Listed below will be only the guids which have been retired from the
  291.  * DEFINE-DAOGUID range.  [mab 9/27/95]
  292.  */
  293.  
  294. // <There are no defunct guids yet.  Remeber to remove this comment when
  295. // you do retire some guids!>
  296.  
  297.  
  298.  
  299. // Type library
  300. DEFINE_OLEGUID(LIBID30_CDAO,                0x00025e01, 0, 0);
  301. DEFINE_OLEGUID(LIBID30_CDAO25,            0x00025e04, 0, 0);
  302.  
  303. // StdObject
  304. DEFINE_OLEGUID(IID30_IDAOStdObject,        0x00025e02, 0, 0);
  305.  
  306. // StdCollection
  307. DEFINE_OLEGUID(IID30_IDAOStdCollection,    0x00025e03, 0, 0);
  308.  
  309. /*
  310.     NOTES:
  311.  
  312.     * Two sets of CLSIDs exist for the DBEngine object.
  313.     * DBEngine and DBEngine30.  The 30 extension means
  314.     * that this engine should load the 3.0 typelibrary
  315.     * from the registry.  Otherwise, load the 2.5/3.0
  316.     * compatability type library
  317.  
  318.     (daxh)
  319. */
  320.  
  321. // DBEngine
  322. DEFINE_OLEGUID(CLSID30_CDAODBEngine,        0x00025e15, 0, 0);
  323. DEFINE_OLEGUID(IID30_IDAODBEngine,        0x00025e16, 0, 0);
  324. DEFINE_OLEGUID(IID30_IDAODBEngineW,        0x00025e17, 0, 0);
  325. DEFINE_OLEGUID(IID30_ICDAOJETDBEngine,    0x00025e18, 0, 0);
  326. DEFINE_OLEGUID(CLSID30_CDAOPrivDBEngine,    0x00025e19, 0, 0);
  327.  
  328. // Error
  329. DEFINE_OLEGUID(IID30_IDAOError,            0x00025e1d, 0, 0);
  330. DEFINE_OLEGUID(IID30_IDAOErrorW,            0x00025e1e, 0, 0);
  331. DEFINE_OLEGUID(IID30_IDAOErrors,            0x00025e1f, 0, 0);
  332. DEFINE_OLEGUID(IID30_IDAOErrorsW,            0x00025e20, 0, 0);
  333. DEFINE_OLEGUID(IID30_ICDAOJETError,        0x00025e21, 0, 0);    //used by Access, goes away post 3.0
  334.  
  335. // Property
  336. DEFINE_OLEGUID(IID30_IDAOProperty,        0x00025e25, 0, 0);
  337. DEFINE_OLEGUID(IID30_IDAOPropertyW,        0x00025e26, 0, 0);
  338. DEFINE_OLEGUID(IID30_IDAOProperties,        0x00025e27, 0, 0);
  339. DEFINE_OLEGUID(IID30_IDAOPropertiesW,        0x00025e28, 0, 0);
  340.  
  341. // Recordset
  342. DEFINE_OLEGUID(IID30_IDAORecordset,        0x00025e2d, 0, 0);
  343. DEFINE_OLEGUID(IID30_IDAORecordsetW,        0x00025e2e, 0, 0);
  344. DEFINE_OLEGUID(IID30_IDAORecordsets,        0x00025e2f, 0, 0);
  345. DEFINE_OLEGUID(IID30_IDAORecordsetsW,        0x00025e30, 0, 0);
  346. DEFINE_OLEGUID(IID30_ICDAORecordset,        0x00025e31, 0, 0);    //NOTE: No change for 3.1 or 3.5
  347. DEFINE_OLEGUID(IID30_ICDAOJETRecordset,    0x00025e32, 0, 0);
  348.  
  349. // Snapshot
  350. DEFINE_OLEGUID(IID30_IDAOSnapshot,        0x00025e33, 0, 0);
  351.  
  352. // Table
  353. DEFINE_OLEGUID(IID30_IDAOTable,            0x00025e34, 0, 0);
  354.  
  355. // Dynaset
  356. DEFINE_OLEGUID(IID30_IDAODynaset,            0x00025e35, 0, 0);
  357.  
  358. // Workspace
  359. DEFINE_OLEGUID(IID30_IDAOWorkspace,        0x00025e3a, 0, 0);
  360. DEFINE_OLEGUID(IID30_IDAOWorkspaceW,        0x00025e3b, 0, 0);
  361. DEFINE_OLEGUID(IID30_IDAOWorkspaces,        0x00025e3c, 0, 0);
  362. DEFINE_OLEGUID(IID30_IDAOWorkspacesW,        0x00025e3d, 0, 0);
  363. DEFINE_OLEGUID(IID30_ICDAOJETWorkspace,    0x00025e3e, 0, 0);
  364.  
  365. // Connection (new to 3.1)
  366. DEFINE_OLEGUID(CLSID30_CDAOConnection,    0x00025eb1, 0, 0);
  367. DEFINE_OLEGUID(IID30_IDAOConnection,        0x00025eb2, 0, 0);
  368. DEFINE_OLEGUID(IID30_IDAOConnectionW,        0x00025eb3, 0, 0);
  369. DEFINE_OLEGUID(IID30_IDAOConnections,        0x00025eb4, 0, 0);
  370. DEFINE_OLEGUID(IID30_IDAOConnectionsW,    0x00025eb5, 0, 0);
  371.  
  372. // TableDef
  373. DEFINE_OLEGUID(CLSID30_CDAOTableDef,        0x00025e43, 0, 0);
  374. DEFINE_OLEGUID(IID30_IDAOTableDef,        0x00025e44, 0, 0);
  375. DEFINE_OLEGUID(IID30_IDAOTableDefW,        0x00025e45, 0, 0);
  376. DEFINE_OLEGUID(IID30_IDAOTableDefs,        0x00025e46, 0, 0);
  377. DEFINE_OLEGUID(IID30_IDAOTableDefsW,        0x00025e47, 0, 0);
  378.  
  379. // Field
  380. DEFINE_OLEGUID(CLSID30_CDAOField,         0x00025e4c, 0, 0);
  381. DEFINE_OLEGUID(IID30_IDAOField,            0x00025e4d, 0, 0);
  382. DEFINE_OLEGUID(IID30_IDAOFieldW,            0x00025e4e, 0, 0);
  383. DEFINE_OLEGUID(IID30_IDAOFields,            0x00025e4f, 0, 0);
  384. DEFINE_OLEGUID(IID30_IDAOFieldsW,            0x00025e50, 0, 0);
  385. //DEFINE-OLEGUID(IID30_ICDAOJETField,        0x00025e51, 0, 0);    //used by Access, goes away post 3.0
  386. DEFINE_OLEGUID(IID30_ICDAOJETField,        0x00025e49, 0, 0);    //used by Access, goes away post 3.0
  387.  
  388. // Index
  389. DEFINE_OLEGUID(CLSID30_CDAOIndex,         0x00025e55, 0, 0);
  390. DEFINE_OLEGUID(IID30_IDAOIndex,            0x00025e56, 0, 0);
  391. DEFINE_OLEGUID(IID30_IDAOIndexW,            0x00025ed7, 0, 0);
  392. DEFINE_OLEGUID(IID30_IDAOIndexes,            0x00025e58, 0, 0);
  393. DEFINE_OLEGUID(IID30_IDAOIndexesW,        0x00025e59, 0, 0);
  394. DEFINE_OLEGUID(IID30_IDAOIndexFields,        0x00025e5a, 0, 0);
  395. DEFINE_OLEGUID(IID30_IDAOIndexFieldsW,    0x00025e5b, 0, 0);
  396.  
  397. // Group
  398. DEFINE_OLEGUID(CLSID30_CDAOGroup,         0x00025e5f, 0, 0);
  399. DEFINE_OLEGUID(IID30_IDAOGroup,            0x00025e60, 0, 0);
  400. DEFINE_OLEGUID(IID30_IDAOGroupW,            0x00025e61, 0, 0);
  401. DEFINE_OLEGUID(IID30_IDAOGroups,            0x00025e62, 0, 0);
  402. DEFINE_OLEGUID(IID30_IDAOGroupsW,            0x00025e63, 0, 0);
  403.  
  404. // User
  405. DEFINE_OLEGUID(CLSID30_CDAOUser,            0x00025e68, 0, 0);
  406. DEFINE_OLEGUID(IID30_IDAOUser,            0x00025e69, 0, 0);
  407. DEFINE_OLEGUID(IID30_IDAOUserW,            0x00025e6a, 0, 0);
  408. DEFINE_OLEGUID(IID30_IDAOUsers,            0x00025e6b, 0, 0);
  409. DEFINE_OLEGUID(IID30_IDAOUsersW,            0x00025e6c, 0, 0);
  410.  
  411. // Database
  412. DEFINE_OLEGUID(IID30_IDAODatabase,        0x00025e71, 0, 0);
  413. DEFINE_OLEGUID(IID30_IDAODatabaseW,        0x00025e72, 0, 0);
  414. DEFINE_OLEGUID(IID30_IDAODatabases,        0x00025e73, 0, 0);
  415. DEFINE_OLEGUID(IID30_IDAODatabasesW,        0x00025e74, 0, 0);
  416. DEFINE_OLEGUID(IID30_ICDAOJETDatabase,    0x00025e75, 0, 0);
  417.  
  418. // QueryDef
  419. DEFINE_OLEGUID(CLSID30_CDAOQueryDef,        0x00025e7a, 0, 0);
  420. DEFINE_OLEGUID(IID30_IDAOQueryDef,        0x00025e7b, 0, 0);
  421. DEFINE_OLEGUID(IID30_IDAOQueryDefW,        0x00025e7c, 0, 0);
  422. DEFINE_OLEGUID(IID30_IDAOQueryDefs,        0x00025e7d, 0, 0);
  423. DEFINE_OLEGUID(IID30_IDAOQueryDefsW,        0x00025e7e, 0, 0);
  424.  
  425. // Parameter
  426. DEFINE_OLEGUID(IID30_IDAOParameter,        0x00025e83, 0, 0);
  427. DEFINE_OLEGUID(IID30_IDAOParameterW,        0x00025e84, 0, 0);
  428. DEFINE_OLEGUID(IID30_IDAOParameters,        0x00025e85, 0, 0);
  429. DEFINE_OLEGUID(IID30_IDAOParametersW,        0x00025e86, 0, 0);
  430.  
  431. // Relation
  432. DEFINE_OLEGUID(CLSID30_CDAORelation,        0x00025e8b, 0, 0);
  433. DEFINE_OLEGUID(IID30_IDAORelation,        0x00025e8c, 0, 0);
  434. DEFINE_OLEGUID(IID30_IDAORelationW,        0x00025e8d, 0, 0);
  435. DEFINE_OLEGUID(IID30_IDAORelations,        0x00025e8e, 0, 0);
  436. DEFINE_OLEGUID(IID30_IDAORelationsW,        0x00025e8f, 0, 0);
  437.  
  438. // Container
  439. DEFINE_OLEGUID(IID30_IDAOContainer,        0x00025e94, 0, 0);
  440. DEFINE_OLEGUID(IID30_IDAOContainerW,        0x00025e95, 0, 0);
  441. DEFINE_OLEGUID(IID30_IDAOContainers,        0x00025e96, 0, 0);
  442. DEFINE_OLEGUID(IID30_IDAOContainersW,        0x00025e97, 0, 0);
  443.  
  444. // Document
  445. DEFINE_OLEGUID(IID30_IDAODocument,        0x00025e9c, 0, 0);
  446. DEFINE_OLEGUID(IID30_IDAODocumentW,        0x00025e9d, 0, 0);
  447. DEFINE_OLEGUID(IID30_IDAODocuments,        0x00025e9e, 0, 0);
  448. DEFINE_OLEGUID(IID30_IDAODocumentsW,        0x00025e9f, 0, 0);
  449.  
  450. // Collections
  451. DEFINE_OLEGUID(IID30_IDAOCollection,        0x00025ea4, 0, 0);
  452. DEFINE_OLEGUID(IID30_IDAODynaCollection,    0x00025ea5, 0, 0);
  453.  
  454. // Connection points
  455. DEFINE_OLEGUID(IID30_IDAOQueryCP,            0x00025eaa, 0, 0);    // Connection point
  456. DEFINE_OLEGUID(IID30_IDAOQueryAS,            0x00025eab, 0, 0);    // Advise sink interface
  457.  
  458. /**************************************
  459. * Disconnect Interfaces
  460. *
  461. *    TODO:  Need confirmation from Dave Stutz
  462. */
  463. DEFINE_GUID(IID30_IDisconnect,    0xB196B288,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  464. DEFINE_GUID(IID30_IDisconnectAll,    0xB196B289,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  465.  
  466. /**************************************
  467. * Data Source Control Interfaces
  468. *
  469. *    TODO:  Need to get these from VB!
  470. */
  471. DEFINE_OLEGUID(IID30_IDSCAdviseSink,        0x00025EFEL, 0, 0);
  472. DEFINE_OLEGUID(IID30_IDSCConnectionPoint,    0x00025EFFL, 0, 0);
  473.  
  474. // Database connection points
  475. DEFINE_OLEGUID(IID30_IDBAdviseSink,        0x00025EFCL, 0, 0);
  476. DEFINE_OLEGUID(IID30_IDBConnectionPoint,    0x00025EFDL, 0, 0);
  477.  
  478. /* Defunct GUIDS!!!! Do not reuse!!!!
  479. *(LIBID_CDAO,    0x00025e00, 0, 0);
  480. *(CLSID_CDAODBEngine,  0x00025e11, 0, 0);
  481. */
  482.  
  483. /*    Do not currently support creating these CDAO objects
  484. *(CLSID_CDAOWorkspace,  0x00025exx, 0, 0);
  485. *(CLSID_CDAODatabase,  0x00025exx, 0, 0);
  486. *(CLSID_CDAORecordset,  0x00025exx, 0, 0);
  487. *(CLSID_CDAOParameter,  0x00025exx, 0, 0);
  488. *(CLSID_CDAOProperty,  0x00025exx, 0, 0);
  489. *(CLSID_CDAOContainer,  0x00025exx, 0, 0);
  490. *(CLSID_CDAODocument,  0x00025exx, 0, 0);
  491. */
  492.  
  493. /* OLD ids
  494. *(CLSID_CDAODBEngineConfig,0x00025e10, 0, 0);
  495. *(IID_IDAODBEngineConfig, 0x00025e30, 0, 0);
  496. *(IID_DDAODBEngineConfig, 0x00025e50, 0, 0);
  497. */
  498.  
  499. /* Dispinterfaces no longer used
  500. *(IID_DDAODynaset,   0x00025e66, 0, 0);
  501. *(IID_DDAOTable,   0x00025e64, 0, 0);
  502. *(IID_DDAOSnapshot,  0x00025e65, 0, 0);
  503. *(IID_DDAORecordsets,  0x00025e6b, 0, 0);
  504. *(IID_DDAORecordset,   0x00025e56, 0, 0);
  505. *(IID_DDAOProperties,  0x00025e75, 0, 0);
  506. *(IID_DDAOProperty,  0x00025e5d, 0, 0);
  507. *(IID_DDAOErrors,   0x00025e63, 0, 0);
  508. *(IID_DDAOError,   0x00025e62, 0, 0);
  509. *(IID_DDAODBEngine,  0x00025e51, 0, 0);
  510. *(IID_DDAOWorkspace,   0x00025e52, 0, 0);
  511. *(IID_DDAODatabase,  0x00025e53, 0, 0);
  512. *(IID_DDAOTableDef,  0x00025e54, 0, 0);
  513. *(IID_DDAOQueryDef,  0x00025e55, 0, 0);
  514. *(IID_DDAOField,    0x00025e57, 0, 0);
  515. *(IID_DDAOIndex,    0x00025e58, 0, 0);
  516. *(IID_DDAOParameter,   0x00025e59, 0, 0);
  517. *(IID_DDAOUser,   0x00025e5a, 0, 0);
  518. *(IID_DDAOGroup,    0x00025e5b, 0, 0);
  519. *(IID_DDAORelation,  0x00025e5c, 0, 0);
  520. *(IID_DDAOContainer,   0x00025e5e, 0, 0);
  521. *(IID_DDAODocument,  0x00025e5f, 0, 0);
  522. *(IID_DDAOCollection,  0x00025e60, 0, 0);
  523. *(IID_DDAODynaCollection, 0x00025e61, 0, 0);
  524. *(IID_DDAOWorkspaces,  0x00025e67, 0, 0);
  525. *(IID_DDAODatabases,  0x00025e68, 0, 0);
  526. *(IID_DDAOTableDefs,  0x00025e69, 0, 0);
  527. *(IID_DDAOQueryDefs,  0x00025e6a, 0, 0);
  528. *(IID_DDAOFields,   0x00025e6c, 0, 0);
  529. *(IID_DDAOIndexFields,  0x00025e6d, 0, 0);
  530. *(IID_DDAOIndexes,   0x00025e6e, 0, 0);
  531. *(IID_DDAOParameters,  0x00025e6f, 0, 0);
  532. *(IID_DDAOUsers,   0x00025e70, 0, 0);
  533. *(IID_DDAOGroups,   0x00025e71, 0, 0);
  534. *(IID_DDAORelations,  0x00025e72, 0, 0);
  535. *(IID_DDAOContainers,  0x00025e73, 0, 0);
  536. *(IID_DDAODocuments,  0x00025e74, 0, 0);
  537. */
  538.  
  539.  
  540.  
  541.