Leaked source code of windows server 2003
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.

177 lines
11 KiB

  1. //=======================================================================
  2. // Microsoft JET OLEDB Provider
  3. //
  4. // Copyright Microsoft (c) 1995-9 Microsoft Corporation.
  5. //
  6. // Component: Microsoft JET Database Engine OLEDB Layer
  7. //
  8. // File: MSJETOLEDB.H
  9. //
  10. // File Comments: This file contains the GUIDS necessary to load the
  11. // Microsoft JET OLEDB Layer for the JET 4.0 database
  12. // Engine.
  13. //
  14. //=======================================================================
  15. #ifndef MSJETOLEDB_H
  16. #define MSJETOLEDB_H
  17. // OLE DB Provider
  18. const GUID CLSID_JETOLEDB_3_51 = {0xdee35060,0x506b,0x11cf,{0xb1,0xaa,0x00,0xaa,0x00,0xb8,0xde,0x95}};
  19. const GUID CLSID_JETOLEDB_4_00 = {0xdee35070,0x506b,0x11cf,{0xb1,0xaa,0x00,0xaa,0x00,0xb8,0xde,0x95}};
  20. // Jet OLEDB Provider-Specific GUIDs
  21. const GUID DBSCHEMA_JETOLEDB_REPLPARTIALFILTERLIST = {0xe2082df0,0x54ac,0x11d1,{0xbd,0xbb,0x00,0xc0,0x4f,0xb9,0x26,0x75}};
  22. const GUID DBSCHEMA_JETOLEDB_REPLCONFLICTTABLES = {0xe2082df2,0x54ac,0x11d1,{0xbd,0xbb,0x00,0xc0,0x4f,0xb9,0x26,0x75}};
  23. const GUID DBSCHEMA_JETOLEDB_USERROSTER = {0x947bb102,0x5d43,0x11d1,{0xbd,0xbf,0x00,0xc0,0x4f,0xb9,0x26,0x75}};
  24. const GUID DBSCHEMA_JETOLEDB_ISAMSTATS = {0x8703b612,0x5d43,0x11d1,{0xbd,0xbf,0x00,0xc0,0x4f,0xb9,0x26,0x75}};
  25. // Jet(Access)-Specific Security Objects
  26. const GUID DBOBJECT_JETOLEDB_FORMS = {0xc49c842e,0x9dcb,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
  27. const GUID DBOBJECT_JETOLEDB_SCRIPTS = {0xc49c842f,0x9dcb,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}}; // These are Macros in Access
  28. const GUID DBOBJECT_JETOLEDB_REPORTS = {0xc49c8430,0x9dcb,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
  29. const GUID DBOBJECT_JETOLEDB_MODULES = {0xc49c8432,0x9dcb,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
  30. // Private Property Set Descriptions
  31. const GUID DBPROPSET_JETOLEDB_ROWSET = {0xa69de420,0x0025,0x11d0,{0xbc,0x9c,0x00,0xc0,0x4f,0xd7,0x05,0xc2}};
  32. const GUID DBPROPSET_JETOLEDB_SESSION = {0xb20f6c12,0x9b2a,0x11d0,{0x9e,0xbd,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
  33. const GUID DBPROPSET_JETOLEDB_DBINIT = {0x82cf8156,0x9b40,0x11d0,{0x9e,0xbd,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
  34. const GUID DBPROPSET_JETOLEDB_TABLE = {0xe64cc5fc,0x9ff2,0x11d0,{0x9e,0xbd,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
  35. const GUID DBPROPSET_JETOLEDB_COLUMN = {0x820bf922,0x6ac8,0x11d1,{0x9f,0x02,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
  36. const GUID DBPROPSET_JETOLEDB_TRUSTEE = {0xc9e19286,0x9b4a,0x11d1,{0x9f,0x0a,0x00,0xc0,0x4f,0xc2,0xc2,0xe0}};
  37. // PROPIDs for DBPROPSET_JETOLEDB_ROWSET:
  38. #define DBPROP_JETOLEDB_ODBCPASSTHROUGH 0xFD // Is this query a pass-through query
  39. #define DBPROP_JETOLEDB_ODBCPASSTHROUGHCONNECTSTRING 0xF2 // Jet Connect String for pass-through query
  40. #define DBPROP_JETOLEDB_BULKPARTIAL 0xEF // Allow partial bulk operations
  41. #define DBPROP_JETOLEDB_ENABLEFATCURSOR 0xEE // Enable "fat cursor" caching
  42. #define DBPROP_JETOLEDB_FATCURSORMAXROWS 0xED // # of rows to cache in "fat cursor"
  43. //#define DBPROP_JETOLEDB_3_5_ENABLEIRowsetIndex 0x101 // 3.5 ONLY - enable IRowsetIndex interface for Seek
  44. #define DBPROP_JETOLEDB_STOREDQUERY 0x102 // Treat command text as stored query name
  45. #define DBPROP_JETOLEDB_VALIDATEONSET 0xEC // Check validation rules on SetData (instead of Update)
  46. #define DBPROP_JETOLEDB_LOCKGRANULARITY 0x107 // Alcatraz Locking Granularity - Row/Page/Default
  47. #define DBPROP_JETOLEDB_BULKNOTRANSACTIONS 0x10C // Determines if DML bulk operations are transacted
  48. #define DBPROP_JETOLEDB_INCONSISTENT 0x117 // Equivalent to DAO's dbInconsistent
  49. #define DBPROP_JETOLEDB_PASSTHROUGHBULKOP 0x119 // Equivalent to DAO's ReturnsRecords (inversed)
  50. // DBPROPSET_JETOLEDB_ROWSET DBPROP_JETOLEDB_LOCKGRANULARITY Enumeration Values
  51. #define DBPROPVAL_LG_PAGE 0x01 // Page Locking
  52. #define DBPROPVAL_LG_ALCATRAZ 0x02 // Alcatraz Row Locking
  53. // PROPIDs for DBPROPSET_JETOLEDB_SESSION:
  54. #define DBPROP_JETOLEDB_RECYCLELONGVALUEPAGES 0xF9 // Whether the Jet engine should aggressively reclaim freed after use in BLOBs
  55. #define DBPROP_JETOLEDB_PAGETIMEOUT 0xEB
  56. #define DBPROP_JETOLEDB_SHAREDASYNCDELAY 0xEA
  57. #define DBPROP_JETOLEDB_EXCLUSIVEASYNCDELAY 0xE9
  58. #define DBPROP_JETOLEDB_LOCKRETRY 0xE8
  59. #define DBPROP_JETOLEDB_USERCOMMITSYNC 0xE7
  60. #define DBPROP_JETOLEDB_MAXBUFFERSIZE 0xE6
  61. #define DBPROP_JETOLEDB_LOCKDELAY 0xE5
  62. #define DBPROP_JETOLEDB_FLUSHTRANSACTIONTIMEOUT 0xE4
  63. #define DBPROP_JETOLEDB_IMPLICITCOMMITSYNC 0xE3
  64. #define DBPROP_JETOLEDB_MAXLOCKSPERFILE 0xE2
  65. #define DBPROP_JETOLEDB_ODBCCOMMANDTIMEOUT 0xDB
  66. #define DBPROP_JETOLEDB_RESETISAMSTATS 0x104 // Determines if the ISAMSTATS schema resets after it returns stats
  67. #define DBPROP_JETOLEDB_CONNECTIONCONTROL 0x108 // Passive Shutdown (to prevent others from opening the database)
  68. #define DBPROP_JETOLEDB_ODBCPARSE 0x113 // ODBC Parsing
  69. #define DBPROP_JETOLEDB_PAGELOCKSTOTABLELOCK 0x114 // # of pages locked in a transaction before jet tries to promote to excl. table lock
  70. #define DBPROP_JETOLEDB_SANDBOX 0x115
  71. #define DBPROP_JETOLEDB_TXNCOMMITMODE 0x116 // Mode to be used when committing transactions
  72. // DBPROPSET_JETOLEDB_SESSION DBPROP_JETOLEDB_CONNECTIONCONTROL Enumeration Values
  73. #define DBPROPVAL_JCC_PASSIVESHUTDOWN 0x01 // prevent others from opening the database
  74. #define DBPROPVAL_JCC_NORMAL 0x02 // allow others to open the database
  75. // DBPROPSET_JETOLEDB_SESSION DBPROP_JETOLEDB_TXNCOMMITMODE Enumeration Values
  76. #define DBPROPVAL_JETOLEDB_TCM_FLUSH 0x01 // Synchronously commit transactions to disk
  77. // PROPIDs for DBPROPSET_JETOLEDB_DBINIT:
  78. #define DBPROP_JETOLEDB_REGPATH 0xFB // Path to Jet Registry entries
  79. #define DBPROP_JETOLEDB_SYSDBPATH 0xFA // Full Path to System Database
  80. #define DBPROP_JETOLEDB_DATABASEPASSWORD 0x100 // Password for Database
  81. #define DBPROP_JETOLEDB_ENGINE 0x103 // Enumeration of Jet Engine/ISAM type/version
  82. #define DBPROP_JETOLEDB_DATABASELOCKMODE 0x106 // Locking Granularity Scheme ("Old"/"Alcatraz" mode)
  83. #define DBPROP_JETOLEDB_GLOBALBULKPARTIAL 0x109 // Database Default Partial/No Partial Behavior
  84. #define DBPROP_JETOLEDB_GLOBALBULKNOTRANSACTIONS 0x10B // Determines if DML bulk operations are transacted
  85. #define DBPROP_JETOLEDB_NEWDATABASEPASSWORD 0x10D // Used to set new database password in IDBDataSourceAdmin::ModifyDataSource
  86. #define DBPROP_JETOLEDB_CREATESYSTEMDATABASE 0x10E // Used on IDBDataSourceAdmin::CreateDataSource to create a system database
  87. #define DBPROP_JETOLEDB_ENCRYPTDATABASE 0x10F // Used on CreateDatasource, Compact to determine if new database is encrypted
  88. #define DBPROP_JETOLEDB_COMPACT_DONTCOPYLOCALE 0x110 // Don't copy per-column locale information to the compact target
  89. #define DBPROP_JETOLEDB_COMPACT_NOREPAIRREPLICAS 0x112 // Don't try to repair damaged replica databases when compacting
  90. #define DBPROP_JETOLEDB_SFP 0x118
  91. #define DBPROP_JETOLEDB_COMPACTFREESPACESIZE 0x11A // How much free space would be reclaimed if the db were compacted
  92. // DBPROP_JETOLEDB_GLOBALBULKPARTIAL/DBPROP_JETOLEDB_BULKPARTIAL Enumeration Values
  93. #define DBPROPVAL_BP_DEFAULT 0x00 // Default (only valid for DBPROP_JETOLEDB_BULKPARTIAL)
  94. #define DBPROPVAL_BP_PARTIAL 0x01 // Use partial updates (like Access)
  95. #define DBPROPVAL_BP_NOPARTIAL 0x02 // Use No Partial Behavior (all or nothing)
  96. // DBPROP_JETOLEDB_GLOBALNOTRANSACTIONS/DBPROP_JETOLEDB_BULKNOTRANSACTIONS Enumeration Values
  97. #define DBPROPVAL_BT_DEFAULT 0x00 // Default (only valid for DBPROP_JETOLEDB_NOTRANSACTIONS)
  98. #define DBPROPVAL_BT_NOBULKTRANSACTIONS 0x01 // Don't transact bulk operations
  99. #define DBPROPVAL_BT_BULKTRANSACTIONS 0x02 // Transact bulk operations
  100. // DBPROPSET_JETOLEDB_DBINIT DBPROP_JETOLEDB_ENGINE Enumeration Values
  101. #define JETDBENGINETYPE_UNKNOWN 0x00 // ISAM Type Unknown/ N/A
  102. #define JETDBENGINETYPE_JET10 0x01
  103. #define JETDBENGINETYPE_JET11 0x02
  104. #define JETDBENGINETYPE_JET2X 0x03
  105. #define JETDBENGINETYPE_JET3X 0x04
  106. #define JETDBENGINETYPE_JET4X 0x05
  107. #define JETDBENGINETYPE_DBASE3 0x10
  108. #define JETDBENGINETYPE_DBASE4 0x11
  109. #define JETDBENGINETYPE_DBASE5 0x12
  110. #define JETDBENGINETYPE_EXCEL30 0x20
  111. #define JETDBENGINETYPE_EXCEL40 0x21
  112. #define JETDBENGINETYPE_EXCEL50 0x22
  113. #define JETDBENGINETYPE_EXCEL80 0x23
  114. #define JETDBENGINETYPE_EXCEL90 0x24
  115. #define JETDBENGINETYPE_EXCHANGE4 0x30
  116. #define JETDBENGINETYPE_LOTUSWK1 0x40
  117. #define JETDBENGINETYPE_LOTUSWK3 0x41
  118. #define JETDBENGINETYPE_LOTUSWK4 0x42
  119. #define JETDBENGINETYPE_PARADOX3X 0x50
  120. #define JETDBENGINETYPE_PARADOX4X 0x51
  121. #define JETDBENGINETYPE_PARADOX5X 0x52
  122. #define JETDBENGINETYPE_PARADOX7X 0x53
  123. #define JETDBENGINETYPE_TEXT1X 0x60
  124. #define JETDBENGINETYPE_HTML1X 0x70
  125. // DBPROPSET_JETOLEDB_DBINIT DBPROP_JETOLEDB_DATABASELOCKMODE Enumeration Values
  126. #define DBPROPVAL_DL_OLDMODE 0x00 // Original Jet Database Locking Scheme
  127. #define DBPROPVAL_DL_ALCATRAZ 0x01 // Alcatraz Technology - enables row-level locking
  128. // PROPIDs for DBPROPSET_JETOLEDB_TABLE:
  129. #define DBPROP_JETOLEDB_LINK 0xF7 // Is this table really a link?
  130. #define DBPROP_JETOLEDB_LINKEXCLUSIVE 0xF6 // Should this link be opened exclusively on the remote database
  131. #define DBPROP_JETOLEDB_LINKDATASOURCE 0xF5 // Remote data source to which to link
  132. #define DBPROP_JETOLEDB_LINKPROVIDERSTRING 0xF4 // Jet Provider string to be used to connect to the remote data source
  133. #define DBPROP_JETOLEDB_LINKREMOTETABLE 0xF3 // remote table name of the link
  134. #define DBPROP_JETOLEDB_LINKCACHE_AUTHINFO 0xF0 // Should authentication information for this link be cached in the database?
  135. #define DBPROP_JETOLEDB_VALIDATIONRULE 0xD8 // Table Validation Rule
  136. #define DBPROP_JETOLEDB_VALIDATIONTEXT 0xD7 // Access Text to display when validation rule is not met
  137. #define DBPROP_JETOLEDB_HIDDENINACCESS 0x10A // Determines if a table shows up as "hidden" in MS Access
  138. // PROPIDs for DBPROPSET_JETOLEDB_COLUMN:
  139. #define DBPROP_JETOLEDB_COL_HYPERLINK 0xE1 // Hyperlink flag - use on "LongText" fields only
  140. #define DBPROP_JETOLEDB_COL_ALLOWZEROLENGTH 0xE0 // Allow Zero Length Strings
  141. #define DBPROP_JETOLEDB_COL_COMPRESSED 0xDF // Compressed Text Columns (Red 4.x only)
  142. #define DBPROP_JETOLEDB_COL_ONELVPERPAGE 0xDE // Put more than one BLOB on a page (size allowing)?
  143. #define DBPROP_JETOLEDB_COL_AUTOGENERATE 0xDD // Autogenerate the value (GUID columns only)
  144. #define DBPROP_JETOLEDB_COL_IISAMNOTLAST 0xDC // used to tell the IISAM you intend to add more columns after this one
  145. #define DBPROP_JETOLEDB_COL_VALIDATIONRULE 0xDA // Column validation rule
  146. #define DBPROP_JETOLEDB_COL_VALIDATIONTEXT 0xD9 // column validation text to display when validation rule is not met
  147. // PROPIDs for DBPROPSET_COLUMN:
  148. #ifndef DBPROP_COL_SEED
  149. #define DBPROP_COL_SEED 0x11AL
  150. #endif // DBPROP_COL_SEED
  151. #ifndef DBPROP_COL_INCREMENT
  152. #define DBPROP_COL_INCREMENT 0x11BL
  153. #endif // DBPROP_COL_INCREMENT
  154. // PROPIDs for DBPROPSET_JETOLEDB_TRUSTEE:
  155. #define DBPROP_JETOLEDB_TRUSTEE_PIN 0x105 // Jet User pin (Username + Pin --> SID)
  156. #endif //MSJETOLEDB_H