dbs.idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:102k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //-----------------------------------------------------------------------------
  2. // File: dbs.idl
  3. //
  4. // Copyright: Copyright (c) Microsoft Corporation          
  5. //
  6. // Contents:  OLE/DB structure definititions
  7. //
  8. // Comments: 
  9. //
  10. //-----------------------------------------------------------------------------
  11. [
  12.     uuid(0c733a80-2a1c-11ce-ade5-00aa0044773d),
  13.     pointer_default(unique)
  14. ]
  15. interface DBStructureDefinitions {
  16. //
  17. // A DBID is the way a particular column is identified.
  18. // It consists of a GUID followed by either a LONG or a Unicode
  19. // string.
  20. //
  21. cpp_quote("#ifndef UNALIGNED")
  22. cpp_quote("#if defined(_MIPS_) || defined(_ALPHA_) || defined(_PPC_)")
  23. cpp_quote("#define UNALIGNED __unaligned")
  24. cpp_quote("#else")
  25. cpp_quote("#define UNALIGNED")
  26. cpp_quote("#endif")
  27. cpp_quote("#endif //UNALIGNED")
  28. cpp_quote("#undef OLEDBDECLSPEC")
  29. cpp_quote("#if _MSC_VER >= 1100 && (!defined(SHx) || (defined(SHx) && _MSC_VER >= 1200))")
  30. cpp_quote("#define OLEDBDECLSPEC __declspec(selectany)")
  31. cpp_quote("#else")
  32. cpp_quote("#define OLEDBDECLSPEC ")
  33. cpp_quote("#endif //_MSC_VER")
  34. typedef DWORD DBKIND;
  35. enum DBKINDENUM {
  36. DBKIND_GUID_NAME,
  37. DBKIND_GUID_PROPID,
  38. DBKIND_NAME,
  39. DBKIND_PGUID_NAME,
  40. DBKIND_PGUID_PROPID,
  41. DBKIND_PROPID,
  42. DBKIND_GUID,
  43. };
  44. typedef struct tagDBID {
  45. [switch_type(DBKIND),switch_is(eKind)] union {
  46. [case(DBKIND_GUID_NAME, DBKIND_GUID_PROPID, DBKIND_GUID, DBKIND_NAME, DBKIND_PROPID)] GUID guid;
  47. [case(DBKIND_PGUID_NAME, DBKIND_PGUID_PROPID)] GUID *pguid;
  48. [default] ;
  49. } uGuid;
  50. DBKIND eKind;
  51. [switch_type(DBKIND),switch_is(eKind)] union {
  52. [case(DBKIND_GUID_NAME, DBKIND_NAME, DBKIND_PGUID_NAME)] LPOLESTR pwszName;
  53. [case(DBKIND_GUID_PROPID, DBKIND_PGUID_PROPID, DBKIND_PROPID, DBKIND_GUID)] ULONG ulPropid;
  54. [default] ;
  55. } uName;
  56. } DBID;
  57. //
  58. // DB_NUMERIC type
  59. //
  60. typedef struct tagDB_NUMERIC {
  61. BYTE precision; // not to exceed 28
  62. BYTE scale;
  63. BYTE sign;
  64. BYTE val[16];
  65. } DB_NUMERIC;
  66. //
  67. // DECIMAL and ULONGLONG definitions, just in case
  68. //
  69. cpp_quote("#ifndef _ULONGLONG_")
  70. cpp_quote("typedef hyper LONGLONG;")
  71. cpp_quote("")
  72. cpp_quote("typedef MIDL_uhyper ULONGLONG;")
  73. cpp_quote("")
  74. cpp_quote("typedef LONGLONG __RPC_FAR *PLONGLONG;")
  75. cpp_quote("")
  76. cpp_quote("typedef ULONGLONG __RPC_FAR *PULONGLONG;")
  77. cpp_quote("")
  78. cpp_quote("#endif // _ULONGLONG_")
  79. cpp_quote("#ifndef DECIMAL_NEG")
  80. cpp_quote("#ifndef DECIMAL_SETZERO")
  81. cpp_quote("typedef struct tagDEC {")
  82. cpp_quote("    USHORT wReserved;")
  83. cpp_quote("    union {")
  84. cpp_quote("        struct {")
  85. cpp_quote("            BYTE scale;")
  86. cpp_quote("            BYTE sign;")
  87. cpp_quote("        };")
  88. cpp_quote("        USHORT signscale;")
  89. cpp_quote("    };")
  90. cpp_quote("    ULONG Hi32;")
  91. cpp_quote("    union {")
  92. cpp_quote("        struct {")
  93. cpp_quote("#ifdef _MAC")
  94. cpp_quote("            ULONG Mid32;")
  95. cpp_quote("            ULONG Lo32;")
  96. cpp_quote("#else")
  97. cpp_quote("            ULONG Lo32;")
  98. cpp_quote("            ULONG Mid32;")
  99. cpp_quote("#endif")
  100. cpp_quote("        };")
  101. cpp_quote("        ULONGLONG Lo64;")
  102. cpp_quote("    };")
  103. cpp_quote("} DECIMAL;")
  104. cpp_quote("#define DECIMAL_NEG ((BYTE)0x80)")
  105. cpp_quote("#define DECIMAL_SETZERO(dec) {(dec).Lo64 = 0; (dec).Hi32 = 0; (dec).signscale = 0;}")
  106. cpp_quote("#endif // DECIMAL_SETZERO")
  107. cpp_quote("#endif // DECIMAL_NEG")
  108. //
  109. // DBVECTOR type
  110. //
  111. typedef struct tagDBVECTOR {
  112. DBLENGTH size;
  113. [size_is((ULONG)size)] void * ptr;
  114. } DBVECTOR;
  115. //
  116. // DBDATE, DBTIME, and DBTIMESTAMP
  117. //
  118. typedef struct tagDBDATE {
  119. SHORT year;
  120. USHORT month;
  121. USHORT day;
  122. } DBDATE;
  123. typedef struct tagDBTIME {
  124. USHORT hour;
  125. USHORT minute;
  126. USHORT second;
  127. } DBTIME;
  128. typedef struct tagDBTIMESTAMP {
  129. SHORT year;
  130. USHORT month;
  131. USHORT day;
  132. USHORT hour;
  133. USHORT minute;
  134. USHORT second;
  135. ULONG fraction;
  136. } DBTIMESTAMP;
  137. cpp_quote("//@@@+ V2.0")
  138. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  139. cpp_quote("#if !defined(_WINBASE_) && !defined(_FILETIME_)")
  140. cpp_quote("#define _FILETIME_")
  141. cpp_quote("typedef struct _FILETIME {")
  142. cpp_quote(" DWORD dwLowDateTime;")
  143. cpp_quote(" DWORD dwHighDateTime;")
  144. cpp_quote("     } FILETIME;")
  145. cpp_quote("#endif // !_FILETIME")
  146. typedef signed char SBYTE;
  147. typedef struct tagDB_VARNUMERIC
  148.     {
  149.     BYTE  precision;
  150.     SBYTE  scale;
  151.     BYTE  sign;
  152.     BYTE  val[];
  153.     } DB_VARNUMERIC;
  154. cpp_quote("#endif // OLEDBVER >= 0x0200")
  155. cpp_quote("//@@@- V2.0")
  156. // VERSION 2.1
  157. cpp_quote("//@@@+ V2.1")
  158. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  159. typedef struct _SEC_OBJECT_ELEMENT {
  160. GUID guidObjectType;
  161. DBID ObjectID;
  162. }  SEC_OBJECT_ELEMENT;
  163. typedef struct _SEC_OBJECT {
  164. DWORD cObjects;
  165. [size_is(cObjects)] SEC_OBJECT_ELEMENT *prgObjects;
  166. }  SEC_OBJECT;
  167. typedef struct tagDBIMPLICITSESSION {
  168. IUnknown *pUnkOuter;
  169. IID *piid;
  170. IUnknown *pSession;
  171. } DBIMPLICITSESSION;
  172. cpp_quote("#endif // OLEDBVER >= 0x0210")
  173. cpp_quote("//@@@- V2.1")
  174. //
  175. // DBTYPE -- data type indicators
  176. //
  177. typedef WORD DBTYPE;
  178. enum DBTYPEENUM {
  179. // The following values exactly match VARENUM in OLE Automation and may
  180. // be used in VARIANT
  181. DBTYPE_EMPTY = 0,
  182. DBTYPE_NULL = 1,
  183. DBTYPE_I2 = 2,
  184. DBTYPE_I4 = 3,
  185. DBTYPE_R4 = 4,
  186. DBTYPE_R8 = 5,
  187. DBTYPE_CY = 6,
  188. DBTYPE_DATE = 7,
  189. DBTYPE_BSTR = 8,
  190. DBTYPE_IDISPATCH = 9,
  191. DBTYPE_ERROR = 10,
  192. DBTYPE_BOOL = 11,
  193. DBTYPE_VARIANT = 12,
  194. DBTYPE_IUNKNOWN = 13,
  195. DBTYPE_DECIMAL = 14,
  196. DBTYPE_UI1 = 17,
  197. DBTYPE_ARRAY = 0x2000,
  198. DBTYPE_BYREF = 0x4000,
  199. // The following values exactly match VARENUM in OLE Automation but cannot
  200. // be used in VARIANT
  201. DBTYPE_I1 = 16,
  202. DBTYPE_UI2 = 18,
  203. DBTYPE_UI4 = 19,
  204. DBTYPE_I8 = 20,
  205. DBTYPE_UI8 = 21,
  206. DBTYPE_GUID = 72,
  207. DBTYPE_VECTOR = 0x1000,
  208. DBTYPE_RESERVED  = 0x8000,
  209. // The following values are not in VARENUM in OLE
  210. DBTYPE_BYTES = 128,
  211. DBTYPE_STR = 129,
  212. DBTYPE_WSTR = 130,
  213. DBTYPE_NUMERIC = 131,
  214. DBTYPE_UDT = 132,
  215. DBTYPE_DBDATE = 133,
  216. DBTYPE_DBTIME = 134,
  217. DBTYPE_DBTIMESTAMP = 135,
  218. };
  219. cpp_quote("// Introduce some new DBTYPTE value to support 64bits ColumnsRowset")
  220. cpp_quote("#ifdef _WIN64")
  221. cpp_quote("#define DBTYPEFOR_DBLENGTH DBTYPE_UI8")
  222. cpp_quote("#define DBTYPEFOR_DBROWCOUNT DBTYPE_I8")
  223. cpp_quote("#define DBTYPEFOR_DBORDINAL DBTYPE_UI8")
  224. cpp_quote("#else")
  225. cpp_quote("#define DBTYPEFOR_DBLENGTH DBTYPE_UI4")
  226. cpp_quote("#define DBTYPEFOR_DBROWCOUNT DBTYPE_I4")
  227. cpp_quote("#define DBTYPEFOR_DBORDINAL DBTYPE_UI4")
  228. cpp_quote("#endif")
  229. cpp_quote("//@@@+ V1.5")
  230. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  231. enum DBTYPEENUM15 {
  232. DBTYPE_HCHAPTER = 136,
  233. };
  234. cpp_quote("#endif // OLEDBVER >= 0x0150")
  235. cpp_quote("//@@@- V1.5")
  236. cpp_quote("//@@@+ V2.0")
  237. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  238. enum DBTYPEENUM20 {
  239. DBTYPE_FILETIME  = 64,
  240. DBTYPE_PROPVARIANT = 138,
  241. DBTYPE_VARNUMERIC = 139,
  242. };
  243. cpp_quote("#endif // OLEDBVER >= 0x0200")
  244. cpp_quote("//@@@- V2.0")
  245. //
  246. // DBBINDING -- describes the relationship between a field and its value
  247. //
  248. typedef DWORD DBPART;
  249. enum DBPARTENUM {
  250. DBPART_INVALID = 0x0,
  251. DBPART_VALUE = 0x1,
  252. DBPART_LENGTH = 0x2,
  253. DBPART_STATUS = 0x4,
  254. };
  255. typedef DWORD DBPARAMIO;
  256. enum DBPARAMIOENUM {
  257. DBPARAMIO_NOTPARAM = 0x00,
  258. DBPARAMIO_INPUT = 0x01,
  259. DBPARAMIO_OUTPUT = 0x02,
  260. };
  261. // VERSION 1.5
  262. cpp_quote("//@@@+ V1.5")
  263. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  264. typedef DWORD DBBINDFLAG;
  265. enum DBBINDFLAGENUM {
  266.  DBBINDFLAG_HTML = 0x01,
  267. };
  268. cpp_quote("#endif // OLEDBVER >= 0x0150")
  269. cpp_quote("//@@@- V1.5")
  270. typedef DWORD DBMEMOWNER;
  271. enum DBMEMOWNERENUM {
  272. DBMEMOWNER_CLIENTOWNED = 0x0,
  273. DBMEMOWNER_PROVIDEROWNED = 0x1,
  274. };
  275. typedef struct tagDBOBJECT {
  276. DWORD dwFlags;
  277. IID iid;
  278. } DBOBJECT;
  279. typedef DWORD DBSTATUS;
  280. enum DBSTATUSENUM {
  281. DBSTATUS_S_OK = 0,
  282. DBSTATUS_E_BADACCESSOR = 1,
  283. DBSTATUS_E_CANTCONVERTVALUE = 2,
  284. DBSTATUS_S_ISNULL = 3,
  285. DBSTATUS_S_TRUNCATED = 4,
  286. DBSTATUS_E_SIGNMISMATCH = 5,
  287. DBSTATUS_E_DATAOVERFLOW = 6,
  288. DBSTATUS_E_CANTCREATE = 7,
  289. DBSTATUS_E_UNAVAILABLE = 8,
  290. DBSTATUS_E_PERMISSIONDENIED = 9,
  291. DBSTATUS_E_INTEGRITYVIOLATION = 10,
  292. DBSTATUS_E_SCHEMAVIOLATION = 11,
  293. DBSTATUS_E_BADSTATUS = 12,
  294. DBSTATUS_S_DEFAULT   = 13,
  295. };
  296. // VERSION 2.0
  297. cpp_quote("//@@@+ V2.0")
  298. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  299. enum DBSTATUSENUM20 {
  300. MDSTATUS_S_CELLEMPTY = 14,
  301. DBSTATUS_S_IGNORE = 15,
  302. };
  303. cpp_quote("#endif // OLEDBVER >= 0x0200")
  304. cpp_quote("//@@@- V2.0")
  305. // VERSION 2.1
  306. cpp_quote("//@@@+ V2.1")
  307. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  308. enum DBSTATUSENUM21 {
  309. DBSTATUS_E_DOESNOTEXIST = 16,
  310. DBSTATUS_E_INVALIDURL = 17,
  311. DBSTATUS_E_RESOURCELOCKED = 18,
  312. DBSTATUS_E_RESOURCEEXISTS = 19,
  313. DBSTATUS_E_CANNOTCOMPLETE = 20,
  314. DBSTATUS_E_VOLUMENOTFOUND = 21,
  315. DBSTATUS_E_OUTOFSPACE = 22,
  316. DBSTATUS_S_CANNOTDELETESOURCE= 23,
  317. DBSTATUS_E_READONLY = 24,
  318. DBSTATUS_E_RESOURCEOUTOFSCOPE = 25,
  319. DBSTATUS_S_ALREADYEXISTS =26,
  320. };
  321. typedef DWORD DBBINDURLFLAG;
  322. enum DBBINDURLFLAGENUM {
  323.     DBBINDURLFLAG_READ                 = 0x00000001L,
  324.     DBBINDURLFLAG_WRITE                 = 0x00000002L, 
  325.     DBBINDURLFLAG_READWRITE             = 0x00000003L, 
  326.     DBBINDURLFLAG_SHARE_DENY_READ = 0x00000004L,
  327.     DBBINDURLFLAG_SHARE_DENY_WRITE = 0x00000008L, 
  328.     DBBINDURLFLAG_SHARE_EXCLUSIVE = 0x0000000CL, 
  329.     DBBINDURLFLAG_SHARE_DENY_NONE = 0x00000010L,
  330. DBBINDURLFLAG_ASYNCHRONOUS         = 0x00001000L,
  331. DBBINDURLFLAG_COLLECTION = 0x00002000L,
  332.     DBBINDURLFLAG_DELAYFETCHSTREAM     = 0x00004000L,
  333.     DBBINDURLFLAG_DELAYFETCHCOLUMNS     = 0x00008000L,
  334.     DBBINDURLFLAG_RECURSIVE             = 0x00400000L,
  335.     DBBINDURLFLAG_OUTPUT = 0x00800000L,
  336. DBBINDURLFLAG_WAITFORINIT     = 0x01000000L,
  337. DBBINDURLFLAG_OPENIFEXISTS = 0x02000000L,
  338. DBBINDURLFLAG_OVERWRITE = 0x04000000L,
  339. DBBINDURLFLAG_ISSTRUCTUREDDOCUMENT = 0x08000000L,
  340.     };
  341. typedef DWORD DBBINDURLSTATUS;
  342. enum DBBINDURLSTATUSENUM {
  343. DBBINDURLSTATUS_S_OK                     = 0x00000000L,
  344.     DBBINDURLSTATUS_S_DENYNOTSUPPORTED       = 0x00000001L,
  345.     DBBINDURLSTATUS_S_DENYTYPENOTSUPPORTED   = 0x00000004L,
  346.     DBBINDURLSTATUS_S_REDIRECTED             = 0x00000008L,
  347.     };
  348. cpp_quote("#endif // OLEDBVER >= 0x0210")
  349. cpp_quote("//@@@- V2.1")
  350. cpp_quote("//@@@+ V2.5")
  351. cpp_quote("#if( OLEDBVER >= 0x0250 )")
  352. enum DBSTATUSENUM25 {
  353. DBSTATUS_E_CANCELED = 27,
  354. DBSTATUS_E_NOTCOLLECTION =28,
  355. };
  356. cpp_quote("#endif // OLEDBVER >= 0x0250")
  357. cpp_quote("//@@@- V2.5")
  358. typedef struct tagDBBINDEXT {
  359. [size_is((ULONG)ulExtension)] BYTE * pExtension;
  360. DBCOUNTITEM ulExtension;
  361. } DBBINDEXT;
  362. typedef struct tagDBBINDING {
  363. DBORDINAL iOrdinal;
  364. DBBYTEOFFSET obValue;
  365. DBBYTEOFFSET obLength;
  366. DBBYTEOFFSET obStatus;
  367. ITypeInfo * pTypeInfo;
  368. DBOBJECT *pObject;
  369. DBBINDEXT *pBindExt;
  370. DBPART dwPart;
  371. DBMEMOWNER dwMemOwner;
  372. DBPARAMIO eParamIO;
  373. DBLENGTH cbMaxLen;
  374. DWORD dwFlags;
  375. DBTYPE wType;
  376. BYTE bPrecision;
  377. BYTE bScale;
  378. } DBBINDING;
  379. //
  380. // ROWSTATUS values
  381. //
  382. typedef DWORD DBROWSTATUS;
  383. enum DBROWSTATUSENUM {
  384. DBROWSTATUS_S_OK = 0,
  385. // DBROWSTATUS_S_LOCKUPGRADED = 1,
  386. DBROWSTATUS_S_MULTIPLECHANGES = 2,
  387. DBROWSTATUS_S_PENDINGCHANGES = 3,
  388. DBROWSTATUS_E_CANCELED = 4,
  389. // DBROWSTATUS_E_CANTLOCKROW = 5,
  390. DBROWSTATUS_E_CANTRELEASE = 6,
  391. DBROWSTATUS_E_CONCURRENCYVIOLATION = 7,
  392. DBROWSTATUS_E_DELETED = 8,
  393. DBROWSTATUS_E_PENDINGINSERT = 9,
  394. DBROWSTATUS_E_NEWLYINSERTED = 10,
  395. DBROWSTATUS_E_INTEGRITYVIOLATION = 11,
  396. DBROWSTATUS_E_INVALID = 12,
  397. DBROWSTATUS_E_MAXPENDCHANGESEXCEEDED = 13,
  398. DBROWSTATUS_E_OBJECTOPEN = 14,
  399. DBROWSTATUS_E_OUTOFMEMORY = 15,
  400. DBROWSTATUS_E_PERMISSIONDENIED = 16,
  401. DBROWSTATUS_E_LIMITREACHED = 17,
  402. DBROWSTATUS_E_SCHEMAVIOLATION = 18,
  403. DBROWSTATUS_E_FAIL = 19,
  404. };
  405. // VERSION 2.0
  406. cpp_quote("//@@@+ V2.0")
  407. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  408. enum DBROWSTATUSENUM20 {
  409. DBROWSTATUS_S_NOCHANGE = 20,
  410. };
  411. cpp_quote("#endif // OLEDBVER >= 0x0200")
  412. cpp_quote("//@@@- V2.0")
  413. cpp_quote("//@@@+ V2.6")
  414. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  415. enum DBSTATUSENUM26 {
  416. DBSTATUS_S_ROWSETCOLUMN = 29
  417. };
  418. cpp_quote("#endif // OLEDBVER >= 0x0260")
  419. cpp_quote("//@@@- V2.6")
  420. //
  421. // HACCESSOR and related definitions
  422. //
  423. typedef ULONG_PTR HACCESSOR;
  424. cpp_quote("#define DB_NULL_HACCESSOR 0x00 // deprecated; use DB_INVALID_HACCESSOR instead")
  425. cpp_quote("#define DB_INVALID_HACCESSOR 0x00")
  426. //
  427. // HROW and related definitions
  428. //
  429. typedef ULONG_PTR HROW;
  430. cpp_quote("#define DB_NULL_HROW 0x00")
  431. // PPP -- until HWATCHREGION is gone from the two V1.0 fn's...
  432. //cpp_quote("//@@@+ V2.0")
  433. //cpp_quote("#if( OLEDBVER >= 0x0200 )")
  434. //
  435. // HWATCHREGION and related definitions
  436. //
  437. typedef ULONG_PTR HWATCHREGION;
  438. cpp_quote("#define DBWATCHREGION_NULL NULL")
  439. //cpp_quote("#endif // OLEDBVER >= 0x0200")
  440. //cpp_quote("//@@@- V2.0")
  441. //
  442. // HCHAPTER and related definitions
  443. //
  444. typedef ULONG_PTR HCHAPTER;
  445. cpp_quote("#define DB_NULL_HCHAPTER 0x00")
  446. cpp_quote("#define DB_INVALID_HCHAPTER 0x00 // deprecated; use DB_NULL_HCHAPTER instead")
  447. //
  448. // DBFAILUREINFO -- info on error rows
  449. //
  450. typedef struct tagDBFAILUREINFO {
  451. HROW     hRow;
  452. DBORDINAL iColumn;
  453. HRESULT     failure;
  454. } DBFAILUREINFO;
  455. //
  456. // DBCOLUMNFLAGS -- describe column characteristics
  457. //
  458. typedef DWORD DBCOLUMNFLAGS;
  459. enum DBCOLUMNFLAGSENUM {
  460. DBCOLUMNFLAGS_ISBOOKMARK = 0x0001,
  461. DBCOLUMNFLAGS_MAYDEFER = 0x0002,
  462. DBCOLUMNFLAGS_WRITE = 0x0004,
  463. DBCOLUMNFLAGS_WRITEUNKNOWN = 0x0008,
  464. DBCOLUMNFLAGS_ISFIXEDLENGTH = 0x0010,
  465. DBCOLUMNFLAGS_ISNULLABLE = 0x0020,
  466. DBCOLUMNFLAGS_MAYBENULL = 0x0040,
  467. DBCOLUMNFLAGS_ISLONG = 0x0080,
  468. DBCOLUMNFLAGS_ISROWID = 0x0100,
  469. DBCOLUMNFLAGS_ISROWVER = 0x0200,
  470. DBCOLUMNFLAGS_CACHEDEFERRED = 0x1000,
  471. };
  472. cpp_quote("//@@@+ V2.0")
  473. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  474. enum DBCOLUMNFLAGSENUM20 {
  475. DBCOLUMNFLAGS_SCALEISNEGATIVE = 0x4000,
  476. DBCOLUMNFLAGS_RESERVED        = 0x8000,
  477. };
  478. cpp_quote("#endif // OLEDBVER >= 0x0200")
  479. cpp_quote("//@@@- V2.0")
  480. // deprecated
  481. cpp_quote("//@@@+ deprecated")
  482. cpp_quote("#ifdef deprecated")
  483. cpp_quote("//@@@+ V2.0")
  484. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  485. enum DBCOLUMNFLAGSDEPRECATED {
  486. DBCOLUMNFLAGS_KEYCOLUMN       = 0x8000 // return this information using IColumnsRowset
  487. };
  488. cpp_quote("#endif // OLEDBVER >= 0x0200")
  489. cpp_quote("//@@@- V2.0")
  490. cpp_quote("#endif // deprecated")
  491. cpp_quote("//@@@- deprecated")
  492. // VERSION 1.5
  493. cpp_quote("//@@@+ V1.5")
  494. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  495. enum DBCOLUMNFLAGS15ENUM {
  496. DBCOLUMNFLAGS_ISCHAPTER = 0x2000,
  497. };
  498. cpp_quote("#endif // OLEDBVER >= 0x0150")
  499. cpp_quote("//@@@- V1.5")
  500. cpp_quote("//@@@+ V2.1")
  501. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  502. enum DBCOLUMNFLAGSENUM21 {
  503. DBCOLUMNFLAGS_ISROWURL = 0x10000,
  504. DBCOLUMNFLAGS_ISDEFAULTSTREAM = 0x20000,
  505. DBCOLUMNFLAGS_ISCOLLECTION = 0x40000,
  506. };
  507. cpp_quote("#endif // OLEDBVER >= 0x0210")
  508. cpp_quote("//@@@- V2.1")
  509. cpp_quote("//@@@+ V2.6")
  510. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  511. enum DBCOLUMNFLAGSENUM26 {
  512. DBCOLUMNFLAGS_ISSTREAM = 0x80000,
  513. DBCOLUMNFLAGS_ISROWSET = 0x100000,
  514. DBCOLUMNFLAGS_ISROW = 0x200000,
  515. DBCOLUMNFLAGS_ROWSPECIFICCOLUMN = 0x400000,
  516. };
  517. enum DBTABLESTATISTICSTYPE26 {
  518. DBSTAT_HISTOGRAM = 0x0001,
  519. DBSTAT_COLUMN_CARDINALITY = 0x0002,
  520. DBSTAT_TUPLE_CARDINALITY = 0x0004,
  521. };
  522. cpp_quote("#endif // OLEDBVER >= 0x0260")
  523. cpp_quote("//@@@- V2.6")
  524. //
  525. // DBCOLUMNINFO struct
  526. //
  527. typedef struct tagDBCOLUMNINFO {
  528. LPOLESTR pwszName;
  529. ITypeInfo * pTypeInfo;
  530. DBORDINAL iOrdinal;
  531. DBCOLUMNFLAGS dwFlags;
  532. DBLENGTH ulColumnSize;
  533. DBTYPE wType;
  534. BYTE bPrecision;
  535. BYTE bScale;
  536. DBID  columnid;
  537. } DBCOLUMNINFO;
  538. //
  539. // Predefined bookmark values
  540. //
  541. typedef enum tagDBBOOKMARK {
  542. DBBMK_INVALID = 0,
  543. DBBMK_FIRST,
  544. DBBMK_LAST
  545. } DBBOOKMARK;
  546. cpp_quote("#define STD_BOOKMARKLENGTH 1")
  547. //
  548. // Comparison of GUIDs
  549. //
  550. cpp_quote("#ifdef __cplusplus")
  551. cpp_quote("inline BOOL IsEqualGUIDBase(const GUID &rguid1, const GUID &rguid2)")
  552. cpp_quote("{ return !memcmp(&(rguid1.Data2), &(rguid2.Data2), sizeof(GUID) - sizeof(rguid1.Data1)); }")
  553. cpp_quote("#else // !__cplusplus")
  554. cpp_quote("#define IsEqualGuidBase(rguid1, rguid2) (!memcmp(&((rguid1).Data2), &((rguid2).Data2), sizeof(GUID) - sizeof((rguid1).Data1)))")
  555. cpp_quote("#endif // __cplusplus")
  556. //
  557. // DB_INVALIDCOLUMN define
  558. //
  559. cpp_quote("#ifdef _WIN64")
  560. cpp_quote("")
  561. cpp_quote("#define DB_INVALIDCOLUMN _UI64_MAX")
  562. cpp_quote("")
  563. cpp_quote("#else")
  564. cpp_quote("")
  565. cpp_quote("#define DB_INVALIDCOLUMN ULONG_MAX")
  566. cpp_quote("")
  567. cpp_quote("#endif // _WIN64")
  568. //
  569. // Predefined DBID's
  570. //
  571. cpp_quote("#define DBCIDGUID   {0x0C733A81L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}")
  572. cpp_quote("#define DB_NULLGUID {0x00000000L,0x0000,0x0000,{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}}")
  573. cpp_quote("#ifdef DBINITCONSTANTS")
  574. cpp_quote("extern const OLEDBDECLSPEC DBID DB_NULLID                      = {DB_NULLGUID, 0, (LPOLESTR)0};")
  575. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_IDNAME                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)2};")
  576. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_NAME                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)3};")
  577. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMBER                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)4};")
  578. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPE                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)5};")
  579. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_PRECISION             = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)7};")
  580. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_SCALE                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)8};")
  581. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_FLAGS                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)9};")
  582. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECOLUMNNAME        = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)10};")
  583. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLENAME         = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)11};")
  584. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_COLLATINGSEQUENCE     = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)12};")
  585. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_COMPUTEMODE           = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)13};")
  586. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_DEFAULTVALUE          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)14};")
  587. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINNAME            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)15};")
  588. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_HASDEFAULT            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)16};")
  589. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_ISAUTOINCREMENT       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)17};")
  590. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_ISCASESENSITIVE       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)18};")
  591. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_ISSEARCHABLE          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)20};")
  592. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_ISUNIQUE              = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)21};")
  593. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_BASECATALOGNAME       = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)23};")
  594. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_BASESCHEMANAME        = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)24};")
  595. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_GUID                  = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)29};")
  596. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_PROPID                = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)30};")
  597. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_TYPEINFO              = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)31};")
  598. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINCATALOG         = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)32};")
  599. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_DOMAINSCHEMA          = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)33};")
  600. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_DATETIMEPRECISION     = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)34};")
  601. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_NUMERICPRECISIONRADIX = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)35};")
  602. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_OCTETLENGTH           = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)36};")
  603. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_COLUMNSIZE            = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)37};")
  604. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_CLSID                 = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)38};")
  605. cpp_quote("//@@@+ V1.5")
  606. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  607. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_MAYSORT               = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)39};")
  608. cpp_quote("#endif // OLEDBVER >= 0x0150")
  609. cpp_quote("//@@@- V1.5")
  610. cpp_quote("#else // !DBINITCONSTANTS")
  611. cpp_quote("extern const DBID DB_NULLID;")
  612. cpp_quote("extern const DBID DBCOLUMN_IDNAME;")
  613. cpp_quote("extern const DBID DBCOLUMN_NAME;")
  614. cpp_quote("extern const DBID DBCOLUMN_NUMBER;")
  615. cpp_quote("extern const DBID DBCOLUMN_TYPE;")
  616. cpp_quote("extern const DBID DBCOLUMN_PRECISION;")
  617. cpp_quote("extern const DBID DBCOLUMN_SCALE;")
  618. cpp_quote("extern const DBID DBCOLUMN_FLAGS;")
  619. cpp_quote("extern const DBID DBCOLUMN_BASECOLUMNNAME;")
  620. cpp_quote("extern const DBID DBCOLUMN_BASETABLENAME;")
  621. cpp_quote("extern const DBID DBCOLUMN_COLLATINGSEQUENCE;")
  622. cpp_quote("extern const DBID DBCOLUMN_COMPUTEMODE;")
  623. cpp_quote("extern const DBID DBCOLUMN_DEFAULTVALUE;")
  624. cpp_quote("extern const DBID DBCOLUMN_DOMAINNAME;")
  625. cpp_quote("extern const DBID DBCOLUMN_HASDEFAULT;")
  626. cpp_quote("extern const DBID DBCOLUMN_ISAUTOINCREMENT;")
  627. cpp_quote("extern const DBID DBCOLUMN_ISCASESENSITIVE;")
  628. cpp_quote("extern const DBID DBCOLUMN_ISSEARCHABLE;")
  629. cpp_quote("extern const DBID DBCOLUMN_ISUNIQUE;")
  630. cpp_quote("extern const DBID DBCOLUMN_BASECATALOGNAME;")
  631. cpp_quote("extern const DBID DBCOLUMN_BASESCHEMANAME;")
  632. cpp_quote("extern const DBID DBCOLUMN_GUID;")
  633. cpp_quote("extern const DBID DBCOLUMN_PROPID;")
  634. cpp_quote("extern const DBID DBCOLUMN_TYPEINFO;")
  635. cpp_quote("extern const DBID DBCOLUMN_DOMAINCATALOG;")
  636. cpp_quote("extern const DBID DBCOLUMN_DOMAINSCHEMA;")
  637. cpp_quote("extern const DBID DBCOLUMN_DATETIMEPRECISION;")
  638. cpp_quote("extern const DBID DBCOLUMN_NUMERICPRECISIONRADIX;")
  639. cpp_quote("extern const DBID DBCOLUMN_OCTETLENGTH;")
  640. cpp_quote("extern const DBID DBCOLUMN_COLUMNSIZE;")
  641. cpp_quote("extern const DBID DBCOLUMN_CLSID;")
  642. cpp_quote("//@@@+ V1.5")
  643. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  644. cpp_quote("extern const DBID DBCOLUMN_MAYSORT;")
  645. cpp_quote("#endif // OLEDBVER >= 0x0150")
  646. cpp_quote("//@@@- V1.5")
  647. cpp_quote("#endif // DBINITCONSTANTS")
  648. //
  649. // Well-known GUIDs
  650. //
  651. cpp_quote("#ifdef DBINITCONSTANTS")
  652. cpp_quote("//@@@+ V2.6")
  653. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  654. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_FUNCTIONS                    = {0xa07ccd07,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};")
  655. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_ACTIONS                      = {0xa07ccd08,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};")
  656. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_COMMANDS                     = {0xa07ccd09,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};")
  657. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_SETS  = {0xa07ccd0b,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};")
  658. cpp_quote("#endif // OLEDBVER >= 0x0260")
  659. cpp_quote("//@@@- V2.6")
  660. cpp_quote("//@@@+ V2.0")
  661. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  662. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLES_INFO                   = {0xc8b522e0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  663. cpp_quote("extern const OLEDBDECLSPEC GUID MDGUID_MDX                             = {0xa07cccd0,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};")
  664. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_MDX                             = {0xa07cccd0,0x8148,0x11d0,{0x87,0xbb,0x00,0xc0,0x4f,0xc3,0x39,0x42}};")
  665. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_CUBES                         = {0xc8b522d8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  666. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_DIMENSIONS                    = {0xc8b522d9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  667. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_HIERARCHIES                   = {0xc8b522da,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  668. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_LEVELS                        = {0xc8b522db,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  669. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_MEASURES                      = {0xc8b522dc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  670. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_PROPERTIES                    = {0xc8b522dd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  671. cpp_quote("extern const OLEDBDECLSPEC GUID MDSCHEMA_MEMBERS                       = {0xc8b522de,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  672. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_BASETABLEVERSION = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)40};")
  673. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_KEYCOLUMN = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)41};")
  674. cpp_quote("#endif // OLEDBVER >= 0x0200")
  675. cpp_quote("//@@@- V2.0")
  676. cpp_quote("//@@@+ V2.1")
  677. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  678. cpp_quote("#define DBGUID_ROWURL   {0x0C733AB6L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}")
  679. cpp_quote("#define DBGUID_ROWDEFAULTSTREAM   {0x0C733AB7L,0x2A1C,0x11CE,{0xAD,0xE5,0x00,0xAA,0x00,0x44,0x77,0x3D}}")
  680. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_TRUSTEE = {0xc8b522e1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  681. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_TABLE  = {0xc8b522e2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  682. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_COLUMN  = {0xc8b522e4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  683. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_DATABASE = {0xc8b522e5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  684. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_PROCEDURE  = {0xc8b522e6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  685. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_VIEW   = {0xc8b522e7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  686. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_SCHEMA = {0xc8b522e8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  687. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_DOMAIN   = {0xc8b522e9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  688. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_COLLATION  = {0xc8b522ea,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  689. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_TRUSTEE   = {0xc8b522eb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  690. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_SCHEMAROWSET = {0xc8b522ec,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  691. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_CHARACTERSET   = {0xc8b522ed,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  692. cpp_quote("extern const OLEDBDECLSPEC GUID DBOBJECT_TRANSLATION  = {0xc8b522ee,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  693. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_TRUSTEE  = {0xc8b522ef,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  694. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_COLUMNALL  = {0xc8b522f0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  695. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_INDEXALL  = {0xc8b522f1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  696. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_TABLEALL  = {0xc8b522f2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  697. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_TRUSTEEALL = {0xc8b522f3,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  698. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_CONSTRAINTALL = {0xc8b522fa,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  699. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_DSO = {0xc8b522f4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  700. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_SESSION = {0xc8b522f5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  701. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_ROWSET = {0xc8b522f6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  702. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_ROW = {0xc8b522f7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  703. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_COMMAND = {0xc8b522f8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  704. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_STREAM = {0xc8b522f9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  705. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_ROWURL          = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)0};")
  706. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_PARSENAME            = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)2};")
  707. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_PARENTNAME           = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)3};")
  708. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_ABSOLUTEPARSENAME    = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)4};")
  709. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_ISHIDDEN             = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)5};")
  710. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_ISREADONLY           = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)6};")
  711. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTTYPE          = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)7};")
  712. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTCLASS         = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)8};")
  713. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_CONTENTLANGUAGE      = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)9};")
  714. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_CREATIONTIME         = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)10};")
  715. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_LASTACCESSTIME       = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)11};")
  716. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_LASTWRITETIME        = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)12};")
  717. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_STREAMSIZE           = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)13};")
  718. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_ISCOLLECTION         = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)14};")
  719. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_ISSTRUCTUREDDOCUMENT = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)15};")
  720. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_DEFAULTDOCUMENT      = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)16};")
  721. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_DISPLAYNAME          = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)17};")
  722. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_ISROOT               = {DBGUID_ROWURL, DBKIND_GUID_PROPID, (LPOLESTR)18};")
  723. cpp_quote("extern const OLEDBDECLSPEC DBID DBROWCOL_DEFAULTSTREAM        = {DBGUID_ROWDEFAULTSTREAM, DBKIND_GUID_PROPID, (LPOLESTR)0};")
  724. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_CONTAINEROBJECT        = {0xc8b522fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  725. cpp_quote("#endif // OLEDBVER >= 0x0210")
  726. cpp_quote("//@@@- V2.1")
  727. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_ASSERTIONS                    = {0xc8b52210,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  728. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_CATALOGS                      = {0xc8b52211,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  729. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_CHARACTER_SETS                = {0xc8b52212,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  730. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_COLLATIONS                    = {0xc8b52213,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  731. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMNS                       = {0xc8b52214,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  732. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_CHECK_CONSTRAINTS             = {0xc8b52215,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  733. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE       = {0xc8b52216,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  734. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE        = {0xc8b52217,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  735. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_KEY_COLUMN_USAGE              = {0xc8b52218,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  736. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS       = {0xc8b52219,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  737. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_CONSTRAINTS             = {0xc8b5221a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  738. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMN_DOMAIN_USAGE           = {0xc8b5221b,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  739. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_INDEXES                       = {0xc8b5221e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  740. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_COLUMN_PRIVILEGES             = {0xc8b52221,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  741. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_PRIVILEGES              = {0xc8b52222,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  742. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_USAGE_PRIVILEGES              = {0xc8b52223,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  743. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURES                    = {0xc8b52224,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  744. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_SCHEMATA                      = {0xc8b52225,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  745. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_SQL_LANGUAGES                 = {0xc8b52226,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  746. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_STATISTICS                    = {0xc8b52227,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  747. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLES                        = {0xc8b52229,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  748. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_TRANSLATIONS                  = {0xc8b5222a,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  749. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_PROVIDER_TYPES                = {0xc8b5222c,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  750. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEWS                         = {0xc8b5222d,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  751. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEW_COLUMN_USAGE             = {0xc8b5222e,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  752. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_VIEW_TABLE_USAGE              = {0xc8b5222f,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  753. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURE_PARAMETERS          = {0xc8b522b8,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  754. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_FOREIGN_KEYS                  = {0xc8b522c4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  755. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_PRIMARY_KEYS                  = {0xc8b522c5,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  756. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_PROCEDURE_COLUMNS             = {0xc8b522c9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  757. cpp_quote("extern const OLEDBDECLSPEC GUID DBCOL_SELFCOLUMNS                      = {0xc8b52231,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  758. cpp_quote("extern const OLEDBDECLSPEC GUID DBCOL_SPECIALCOL                       = {0xc8b52232,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  759. cpp_quote("extern const OLEDBDECLSPEC GUID PSGUID_QUERY                           = {0x49691c90,0x7e17,0x101a,{0xa9,0x1c,0x08,0x00,0x2b,0x2e,0xcd,0xa9}};")
  760. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_COLUMN                       = {0xc8b522b9,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  761. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCE                   = {0xc8b522ba,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  762. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEINFO               = {0xc8b522bb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  763. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_DBINIT                       = {0xc8b522bc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  764. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_INDEX                        = {0xc8b522bd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  765. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_ROWSET                       = {0xc8b522be,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  766. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_TABLE                        = {0xc8b522bf,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  767. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEALL                = {0xc8b522c0,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  768. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_DATASOURCEINFOALL            = {0xc8b522c1,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  769. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_ROWSETALL                    = {0xc8b522c2,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  770. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_SESSION                      = {0xc8b522c6,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  771. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_SESSIONALL                   = {0xc8b522c7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  772. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_DBINITALL                    = {0xc8b522ca,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  773. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_PROPERTIESINERROR            = {0xc8b522d4,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  774. cpp_quote("//@@@+ V1.5")
  775. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  776. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_VIEW                         = {0xc8b522df,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  777. cpp_quote("#endif // OLEDBVER >= 0x0150")
  778. cpp_quote("//@@@- V1.5")
  779. cpp_quote("//@@@+ V2.5")
  780. cpp_quote("#if( OLEDBVER >= 0x0250 )")
  781. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_VIEWALL                      = {0xc8b522fc,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  782. cpp_quote("#endif // OLEDBVER >= 0x0250")
  783. cpp_quote("//@@@- V2.5")
  784. cpp_quote("//@@@+ V2.6")
  785. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  786. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_STREAM                       = {0xc8b522fd,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  787. cpp_quote("extern const OLEDBDECLSPEC GUID DBPROPSET_STREAMALL                    = {0xc8b522fe,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  788. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_TABLE_STATISTICS    = {0xc8b522ff,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  789. cpp_quote("extern const OLEDBDECLSPEC GUID DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE    = {0xc8b52301,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  790. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_HISTOGRAM_ROWSET   = {0xc8b52300,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  791. // Note that propid 42 is reserved for DBCOLUMN_HASCHILDROWSET in oledbnew.h
  792. cpp_quote("extern const OLEDBDECLSPEC DBID DBCOLUMN_DERIVEDCOLUMNNAME             = {DBCIDGUID, DBKIND_GUID_PROPID, (LPOLESTR)43};")
  793. cpp_quote("#endif // OLEDBVER >= 0x0260")
  794. cpp_quote("//@@@- V2.6")
  795. cpp_quote("// DBGUID_DBSQL is deprecated; use DBGUID_DEFAULT instead")
  796. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_DBSQL                           = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  797. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_DEFAULT                         = {0xc8b521fb,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  798. cpp_quote("extern const OLEDBDECLSPEC GUID DBGUID_SQL                             = {0xc8b522d7,0x5cf3,0x11ce,{0xad,0xe5,0x00,0xaa,0x00,0x44,0x77,0x3d}};")
  799. cpp_quote("#else // !DBINITCONSTANTS")
  800. cpp_quote("//@@@+ V2.0")
  801. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  802. cpp_quote("extern const GUID DBSCHEMA_TABLES_INFO;")
  803. cpp_quote("extern const GUID MDGUID_MDX;")
  804. cpp_quote("extern const GUID DBGUID_MDX;")
  805. cpp_quote("extern const GUID MDSCHEMA_CUBES;")
  806. cpp_quote("extern const GUID MDSCHEMA_DIMENSIONS;")
  807. cpp_quote("extern const GUID MDSCHEMA_HIERARCHIES;")
  808. cpp_quote("extern const GUID MDSCHEMA_LEVELS;")
  809. cpp_quote("extern const GUID MDSCHEMA_MEASURES;")
  810. cpp_quote("extern const GUID MDSCHEMA_PROPERTIES;")
  811. cpp_quote("extern const GUID MDSCHEMA_MEMBERS;")
  812. cpp_quote("extern const DBID DBCOLUMN_BASETABLEVERSION;")
  813. cpp_quote("extern const DBID DBCOLUMN_KEYCOLUMN;")
  814. cpp_quote("#endif // OLEDBVER >= 0x0200")
  815. cpp_quote("//@@@- V2.0")
  816. cpp_quote("//@@@+ V2.1")
  817. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  818. cpp_quote("extern const GUID DBPROPSET_TRUSTEE;")
  819. cpp_quote("extern const GUID DBOBJECT_TABLE;")
  820. cpp_quote("extern const GUID DBOBJECT_COLUMN;")
  821. cpp_quote("extern const GUID DBOBJECT_DATABASE;")
  822. cpp_quote("extern const GUID DBOBJECT_PROCEDURE;")
  823. cpp_quote("extern const GUID DBOBJECT_VIEW;")
  824. cpp_quote("extern const GUID DBOBJECT_SCHEMA;")
  825. cpp_quote("extern const GUID DBOBJECT_DOMAIN;")
  826. cpp_quote("extern const GUID DBOBJECT_COLLATION;")
  827. cpp_quote("extern const GUID DBOBJECT_TRUSTEE;")
  828. cpp_quote("extern const GUID DBOBJECT_SCHEMAROWSET;")
  829. cpp_quote("extern const GUID DBOBJECT_CHARACTERSET;")
  830. cpp_quote("extern const GUID DBOBJECT_TRANSLATION;")
  831. cpp_quote("extern const GUID DBSCHEMA_TRUSTEE;") 
  832. cpp_quote("extern const GUID DBPROPSET_COLUMNALL;")
  833. cpp_quote("extern const GUID DBPROPSET_INDEXALL;")
  834. cpp_quote("extern const GUID DBPROPSET_TABLEALL;")
  835. cpp_quote("extern const GUID DBPROPSET_TRUSTEEALL;")
  836. cpp_quote("extern const GUID DBPROPSET_CONSTRAINTALL;")
  837. cpp_quote("extern const GUID DBGUID_DSO;    ")
  838. cpp_quote("extern const GUID DBGUID_SESSION;")
  839. cpp_quote("extern const GUID DBGUID_ROWSET; ")
  840. cpp_quote("extern const GUID DBGUID_ROW;    ")
  841. cpp_quote("extern const GUID DBGUID_COMMAND;")
  842. cpp_quote("extern const GUID DBGUID_STREAM; ")
  843. cpp_quote("extern const DBID DBROWCOL_ROWURL;         ")
  844. cpp_quote("extern const DBID DBROWCOL_PARSENAME;            ")
  845. cpp_quote("extern const DBID DBROWCOL_PARENTNAME;           ")
  846. cpp_quote("extern const DBID DBROWCOL_ABSOLUTEPARSENAME;    ")
  847. cpp_quote("extern const DBID DBROWCOL_ISHIDDEN;             ")
  848. cpp_quote("extern const DBID DBROWCOL_ISREADONLY;           ")
  849. cpp_quote("extern const DBID DBROWCOL_CONTENTTYPE;          ")
  850. cpp_quote("extern const DBID DBROWCOL_CONTENTCLASS;         ")
  851. cpp_quote("extern const DBID DBROWCOL_CONTENTLANGUAGE;      ")
  852. cpp_quote("extern const DBID DBROWCOL_CREATIONTIME;         ")
  853. cpp_quote("extern const DBID DBROWCOL_LASTACCESSTIME;       ")
  854. cpp_quote("extern const DBID DBROWCOL_LASTWRITETIME;        ")
  855. cpp_quote("extern const DBID DBROWCOL_STREAMSIZE;           ")
  856. cpp_quote("extern const DBID DBROWCOL_ISCOLLECTION;         ")
  857. cpp_quote("extern const DBID DBROWCOL_ISSTRUCTUREDDOCUMENT; ")
  858. cpp_quote("extern const DBID DBROWCOL_DEFAULTDOCUMENT;      ")
  859. cpp_quote("extern const DBID DBROWCOL_DISPLAYNAME;          ")
  860. cpp_quote("extern const DBID DBROWCOL_ISROOT;               ")
  861. cpp_quote("extern const DBID DBROWCOL_DEFAULTSTREAM;        ")
  862. cpp_quote("extern const GUID DBGUID_CONTAINEROBJECT;")
  863. cpp_quote("#endif // OLEDBVER >= 0x0210")
  864. cpp_quote("//@@@- V2.1")
  865. cpp_quote("extern const GUID DBSCHEMA_ASSERTIONS;")
  866. cpp_quote("extern const GUID DBSCHEMA_CATALOGS;")
  867. cpp_quote("extern const GUID DBSCHEMA_CHARACTER_SETS;")
  868. cpp_quote("extern const GUID DBSCHEMA_COLLATIONS;")
  869. cpp_quote("extern const GUID DBSCHEMA_COLUMNS;")
  870. cpp_quote("extern const GUID DBSCHEMA_CHECK_CONSTRAINTS;")
  871. cpp_quote("extern const GUID DBSCHEMA_CONSTRAINT_COLUMN_USAGE;")
  872. cpp_quote("extern const GUID DBSCHEMA_CONSTRAINT_TABLE_USAGE;")
  873. cpp_quote("extern const GUID DBSCHEMA_KEY_COLUMN_USAGE;")
  874. cpp_quote("extern const GUID DBSCHEMA_REFERENTIAL_CONSTRAINTS;")
  875. cpp_quote("extern const GUID DBSCHEMA_TABLE_CONSTRAINTS;")
  876. cpp_quote("extern const GUID DBSCHEMA_COLUMN_DOMAIN_USAGE;")
  877. cpp_quote("extern const GUID DBSCHEMA_INDEXES;")
  878. cpp_quote("extern const GUID DBSCHEMA_COLUMN_PRIVILEGES;")
  879. cpp_quote("extern const GUID DBSCHEMA_TABLE_PRIVILEGES;")
  880. cpp_quote("extern const GUID DBSCHEMA_USAGE_PRIVILEGES;")
  881. cpp_quote("extern const GUID DBSCHEMA_PROCEDURES;")
  882. cpp_quote("extern const GUID DBSCHEMA_SCHEMATA;")
  883. cpp_quote("extern const GUID DBSCHEMA_SQL_LANGUAGES;")
  884. cpp_quote("extern const GUID DBSCHEMA_STATISTICS;")
  885. cpp_quote("extern const GUID DBSCHEMA_TABLES;")
  886. cpp_quote("extern const GUID DBSCHEMA_TRANSLATIONS;")
  887. cpp_quote("extern const GUID DBSCHEMA_PROVIDER_TYPES;")
  888. cpp_quote("extern const GUID DBSCHEMA_VIEWS;")
  889. cpp_quote("extern const GUID DBSCHEMA_VIEW_COLUMN_USAGE;")
  890. cpp_quote("extern const GUID DBSCHEMA_VIEW_TABLE_USAGE;")
  891. cpp_quote("extern const GUID DBSCHEMA_PROCEDURE_PARAMETERS;")
  892. cpp_quote("extern const GUID DBSCHEMA_FOREIGN_KEYS;")
  893. cpp_quote("extern const GUID DBSCHEMA_PRIMARY_KEYS;")
  894. cpp_quote("extern const GUID DBSCHEMA_PROCEDURE_COLUMNS;")
  895. cpp_quote("extern const GUID DBCOL_SELFCOLUMNS;")
  896. cpp_quote("extern const GUID DBCOL_SPECIALCOL;")
  897. cpp_quote("extern const GUID PSGUID_QUERY;")
  898. cpp_quote("extern const GUID DBPROPSET_COLUMN;")
  899. cpp_quote("extern const GUID DBPROPSET_DATASOURCE;")
  900. cpp_quote("extern const GUID DBPROPSET_DATASOURCEINFO;")
  901. cpp_quote("extern const GUID DBPROPSET_DBINIT;")
  902. cpp_quote("extern const GUID DBPROPSET_INDEX;")
  903. cpp_quote("extern const GUID DBPROPSET_ROWSET;")
  904. cpp_quote("extern const GUID DBPROPSET_TABLE;")
  905. cpp_quote("extern const GUID DBPROPSET_DATASOURCEALL;")
  906. cpp_quote("extern const GUID DBPROPSET_DATASOURCEINFOALL;")
  907. cpp_quote("extern const GUID DBPROPSET_ROWSETALL;")
  908. cpp_quote("extern const GUID DBPROPSET_SESSION;")
  909. cpp_quote("extern const GUID DBPROPSET_SESSIONALL;")
  910. cpp_quote("extern const GUID DBPROPSET_DBINITALL;")
  911. cpp_quote("extern const GUID DBPROPSET_PROPERTIESINERROR;")
  912. cpp_quote("//@@@+ V1.5")
  913. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  914. cpp_quote("extern const GUID DBPROPSET_VIEW;")
  915. cpp_quote("#endif // OLEDBVER >= 0x0150")
  916. cpp_quote("//@@@- V1.5")
  917. cpp_quote("//@@@+ V2.5")
  918. cpp_quote("#if( OLEDBVER >= 0x0250 )")
  919. cpp_quote("extern const GUID DBPROPSET_VIEWALL;")
  920. cpp_quote("#endif // OLEDBVER >= 0x0250")
  921. cpp_quote("//@@@- V2.5")
  922. cpp_quote("//@@@+ V2.6")
  923. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  924. cpp_quote("extern const GUID DBPROPSET_STREAM;")
  925. cpp_quote("extern const GUID DBPROPSET_STREAMALL;")
  926. cpp_quote("extern const GUID DBSCHEMA_TABLE_STATISTICS;")
  927. cpp_quote("extern const GUID DBSCHEMA_CHECK_CONSTRAINTS_BY_TABLE;")
  928. cpp_quote("extern const GUID DBGUID_HISTOGRAM_ROWSET;")
  929. cpp_quote("extern const DBID DBCOLUMN_DERIVEDCOLUMNNAME;")
  930. cpp_quote("extern const GUID MDSCHEMA_FUNCTIONS;")
  931. cpp_quote("extern const GUID MDSCHEMA_ACTIONS;")
  932. cpp_quote("extern const GUID MDSCHEMA_COMMANDS;")
  933. cpp_quote("extern const GUID MDSCHEMA_SETS;")
  934. cpp_quote("#endif // OLEDBVER >= 0x0260")
  935. cpp_quote("//@@@- V2.6")
  936. cpp_quote("// DBGUID_DBSQL is deprecated; use DBGUID_DEFAULT instead")
  937. cpp_quote("extern const GUID DBGUID_DBSQL;")
  938. cpp_quote("extern const GUID DBGUID_DEFAULT;")
  939. cpp_quote("extern const GUID DBGUID_SQL;")
  940. cpp_quote("#endif // DBINITCONSTANTS")
  941. //
  942. // DBPROPID's
  943. //
  944. enum DBPROPENUM {
  945. DBPROP_ABORTPRESERVE                         = 0x00000002L,
  946. DBPROP_ACTIVESESSIONS                        = 0x00000003L,
  947. DBPROP_APPENDONLY                            = 0x000000bbL,
  948. DBPROP_ASYNCTXNABORT                         = 0x000000a8L,
  949. DBPROP_ASYNCTXNCOMMIT                        = 0x00000004L,
  950. DBPROP_AUTH_CACHE_AUTHINFO                   = 0x00000005L,
  951. DBPROP_AUTH_ENCRYPT_PASSWORD                 = 0x00000006L,
  952. DBPROP_AUTH_INTEGRATED                       = 0x00000007L,
  953. DBPROP_AUTH_MASK_PASSWORD                    = 0x00000008L,
  954. DBPROP_AUTH_PASSWORD                         = 0x00000009L,
  955. DBPROP_AUTH_PERSIST_ENCRYPTED                = 0x0000000aL,
  956. DBPROP_AUTH_PERSIST_SENSITIVE_AUTHINFO       = 0x0000000bL,
  957. DBPROP_AUTH_USERID                           = 0x0000000cL,
  958. DBPROP_BLOCKINGSTORAGEOBJECTS                = 0x0000000dL,
  959. DBPROP_BOOKMARKS                             = 0x0000000eL,
  960. DBPROP_BOOKMARKSKIPPED                       = 0x0000000fL,
  961. DBPROP_BOOKMARKTYPE                          = 0x00000010L,
  962. DBPROP_BYREFACCESSORS                        = 0x00000078L,
  963. DBPROP_CACHEDEFERRED                         = 0x00000011L,
  964. DBPROP_CANFETCHBACKWARDS                     = 0x00000012L,
  965. DBPROP_CANHOLDROWS                           = 0x00000013L,
  966. DBPROP_CANSCROLLBACKWARDS                    = 0x00000015L,
  967. DBPROP_CATALOGLOCATION                       = 0x00000016L,
  968. DBPROP_CATALOGTERM                           = 0x00000017L,
  969. DBPROP_CATALOGUSAGE                          = 0x00000018L,
  970. DBPROP_CHANGEINSERTEDROWS                    = 0x000000bcL,
  971. DBPROP_COL_AUTOINCREMENT                     = 0x0000001aL,
  972. DBPROP_COL_DEFAULT                           = 0x0000001bL,
  973. DBPROP_COL_DESCRIPTION                       = 0x0000001cL,
  974. DBPROP_COL_FIXEDLENGTH                       = 0x000000a7L,
  975. DBPROP_COL_NULLABLE                          = 0x0000001dL,
  976. DBPROP_COL_PRIMARYKEY                        = 0x0000001eL,
  977. DBPROP_COL_UNIQUE                            = 0x0000001fL,
  978. DBPROP_COLUMNDEFINITION                      = 0x00000020L,
  979. DBPROP_COLUMNRESTRICT                        = 0x00000021L,
  980. DBPROP_COMMANDTIMEOUT                        = 0x00000022L,
  981. DBPROP_COMMITPRESERVE                        = 0x00000023L,
  982. DBPROP_CONCATNULLBEHAVIOR                    = 0x00000024L,
  983. DBPROP_CURRENTCATALOG                        = 0x00000025L,
  984. DBPROP_DATASOURCENAME                        = 0x00000026L,
  985. DBPROP_DATASOURCEREADONLY                    = 0x00000027L,
  986. DBPROP_DBMSNAME                              = 0x00000028L,
  987. DBPROP_DBMSVER                               = 0x00000029L,
  988. DBPROP_DEFERRED                              = 0x0000002aL,
  989. DBPROP_DELAYSTORAGEOBJECTS                   = 0x0000002bL,
  990. DBPROP_DSOTHREADMODEL                        = 0x000000a9L,
  991. DBPROP_GROUPBY                               = 0x0000002cL,
  992. DBPROP_HETEROGENEOUSTABLES                   = 0x0000002dL,
  993. DBPROP_IAccessor                             = 0x00000079L,
  994. DBPROP_IColumnsInfo                          = 0x0000007aL,
  995. DBPROP_IColumnsRowset                        = 0x0000007bL,
  996. DBPROP_IConnectionPointContainer             = 0x0000007cL,
  997. DBPROP_IConvertType                          = 0x000000c2L,
  998. DBPROP_IRowset                               = 0x0000007eL,
  999. DBPROP_IRowsetChange                         = 0x0000007fL,
  1000. DBPROP_IRowsetIdentity                       = 0x00000080L,
  1001. DBPROP_IRowsetIndex                          = 0x0000009fL,
  1002. DBPROP_IRowsetInfo                           = 0x00000081L,
  1003. DBPROP_IRowsetLocate                         = 0x00000082L,
  1004. DBPROP_IRowsetResynch                        = 0x00000084L,
  1005. DBPROP_IRowsetScroll                         = 0x00000085L,
  1006. DBPROP_IRowsetUpdate                         = 0x00000086L,
  1007. DBPROP_ISupportErrorInfo                     = 0x00000087L,
  1008. DBPROP_ILockBytes                            = 0x00000088L,
  1009. DBPROP_ISequentialStream                     = 0x00000089L,
  1010. DBPROP_IStorage                              = 0x0000008aL,
  1011. DBPROP_IStream                               = 0x0000008bL,
  1012. DBPROP_IDENTIFIERCASE                        = 0x0000002eL,
  1013. DBPROP_IMMOBILEROWS                          = 0x0000002fL,
  1014. DBPROP_INDEX_AUTOUPDATE                      = 0x00000030L,
  1015. DBPROP_INDEX_CLUSTERED                       = 0x00000031L,
  1016. DBPROP_INDEX_FILLFACTOR                      = 0x00000032L,
  1017. DBPROP_INDEX_INITIALSIZE                     = 0x00000033L,
  1018. DBPROP_INDEX_NULLCOLLATION                   = 0x00000034L,
  1019. DBPROP_INDEX_NULLS                           = 0x00000035L,
  1020. DBPROP_INDEX_PRIMARYKEY                      = 0x00000036L,
  1021. DBPROP_INDEX_SORTBOOKMARKS                   = 0x00000037L,
  1022. DBPROP_INDEX_TEMPINDEX                       = 0x000000a3L,
  1023. DBPROP_INDEX_TYPE                            = 0x00000038L,
  1024. DBPROP_INDEX_UNIQUE                          = 0x00000039L,
  1025. DBPROP_INIT_DATASOURCE                       = 0x0000003bL,
  1026. DBPROP_INIT_HWND                             = 0x0000003cL,
  1027. DBPROP_INIT_IMPERSONATION_LEVEL              = 0x0000003dL,
  1028. DBPROP_INIT_LCID                             = 0x000000baL,
  1029. DBPROP_INIT_LOCATION                         = 0x0000003eL,
  1030. DBPROP_INIT_MODE                             = 0x0000003fL,
  1031. DBPROP_INIT_PROMPT                           = 0x00000040L,
  1032. DBPROP_INIT_PROTECTION_LEVEL                 = 0x00000041L,
  1033. DBPROP_INIT_PROVIDERSTRING                   = 0x000000a0L,
  1034. DBPROP_INIT_TIMEOUT                          = 0x00000042L,
  1035. DBPROP_LITERALBOOKMARKS                      = 0x00000043L,
  1036. DBPROP_LITERALIDENTITY                       = 0x00000044L,
  1037. DBPROP_MAXINDEXSIZE                          = 0x00000046L,
  1038. DBPROP_MAXOPENROWS                           = 0x00000047L,
  1039. DBPROP_MAXPENDINGROWS                        = 0x00000048L,
  1040. DBPROP_MAXROWS                               = 0x00000049L,
  1041. DBPROP_MAXROWSIZE                            = 0x0000004aL,
  1042. DBPROP_MAXROWSIZEINCLUDESBLOB                = 0x0000004bL,
  1043. DBPROP_MAXTABLESINSELECT                     = 0x0000004cL,
  1044. DBPROP_MAYWRITECOLUMN                        = 0x0000004dL,
  1045. DBPROP_MEMORYUSAGE                           = 0x0000004eL,
  1046. DBPROP_MULTIPLEPARAMSETS                     = 0x000000bfL,
  1047. DBPROP_MULTIPLERESULTS                       = 0x000000c4L,
  1048. DBPROP_MULTIPLESTORAGEOBJECTS                = 0x00000050L,
  1049. DBPROP_MULTITABLEUPDATE                      = 0x00000051L,
  1050. DBPROP_NOTIFICATIONGRANULARITY               = 0x000000c6L,
  1051. DBPROP_NOTIFICATIONPHASES                    = 0x00000052L,
  1052. DBPROP_NOTIFYCOLUMNSET                       = 0x000000abL,
  1053. DBPROP_NOTIFYROWDELETE                       = 0x000000adL,
  1054. DBPROP_NOTIFYROWFIRSTCHANGE                  = 0x000000aeL,
  1055. DBPROP_NOTIFYROWINSERT                       = 0x000000afL,
  1056. DBPROP_NOTIFYROWRESYNCH                      = 0x000000b1L,
  1057. DBPROP_NOTIFYROWSETCHANGED                   = 0x000000d3L,
  1058. DBPROP_NOTIFYROWSETRELEASE                   = 0x000000b2L,
  1059. DBPROP_NOTIFYROWSETFETCHPOSITIONCHANGE       = 0x000000b3L,
  1060. DBPROP_NOTIFYROWUNDOCHANGE                   = 0x000000b4L,
  1061. DBPROP_NOTIFYROWUNDODELETE                   = 0x000000b5L,
  1062. DBPROP_NOTIFYROWUNDOINSERT                   = 0x000000b6L,
  1063. DBPROP_NOTIFYROWUPDATE                       = 0x000000b7L,
  1064. DBPROP_NULLCOLLATION                         = 0x00000053L,
  1065. DBPROP_OLEOBJECTS                            = 0x00000054L,
  1066. DBPROP_ORDERBYCOLUMNSINSELECT                = 0x00000055L,
  1067. DBPROP_ORDEREDBOOKMARKS                      = 0x00000056L,
  1068. DBPROP_OTHERINSERT                           = 0x00000057L,
  1069. DBPROP_OTHERUPDATEDELETE                     = 0x00000058L,
  1070. DBPROP_OUTPUTPARAMETERAVAILABILITY           = 0x000000b8L,
  1071. DBPROP_OWNINSERT                             = 0x00000059L,
  1072. DBPROP_OWNUPDATEDELETE                       = 0x0000005aL,
  1073. DBPROP_PERSISTENTIDTYPE                      = 0x000000b9L,
  1074. DBPROP_PREPAREABORTBEHAVIOR                  = 0x0000005bL,
  1075. DBPROP_PREPARECOMMITBEHAVIOR                 = 0x0000005cL,
  1076. DBPROP_PROCEDURETERM                         = 0x0000005dL,
  1077. DBPROP_PROVIDERNAME                      = 0x00000060L,
  1078. DBPROP_PROVIDEROLEDBVER                      = 0x00000061L,
  1079. DBPROP_PROVIDERVER                           = 0x00000062L,
  1080. DBPROP_QUICKRESTART                          = 0x00000063L,
  1081. DBPROP_QUOTEDIDENTIFIERCASE                  = 0x00000064L,
  1082. DBPROP_REENTRANTEVENTS                       = 0x00000065L,
  1083. DBPROP_REMOVEDELETED                         = 0x00000066L,
  1084. DBPROP_REPORTMULTIPLECHANGES                 = 0x00000067L,
  1085. DBPROP_RETURNPENDINGINSERTS                  = 0x000000bdL,
  1086. DBPROP_ROWRESTRICT                           = 0x00000068L,
  1087. DBPROP_ROWSETCONVERSIONSONCOMMAND            = 0x000000c0L,
  1088. DBPROP_ROWTHREADMODEL                        = 0x00000069L,
  1089. DBPROP_SCHEMATERM                            = 0x0000006aL,
  1090. DBPROP_SCHEMAUSAGE                           = 0x0000006bL,
  1091. DBPROP_SERVERCURSOR                          = 0x0000006cL,
  1092. DBPROP_SESS_AUTOCOMMITISOLEVELS              = 0x000000beL,
  1093. DBPROP_SQLSUPPORT                            = 0x0000006dL,
  1094. DBPROP_STRONGIDENTITY                        = 0x00000077L,
  1095. DBPROP_STRUCTUREDSTORAGE                     = 0x0000006fL,
  1096. DBPROP_SUBQUERIES                            = 0x00000070L,
  1097. DBPROP_SUPPORTEDTXNDDL                       = 0x000000a1L,
  1098. DBPROP_SUPPORTEDTXNISOLEVELS                 = 0x00000071L,
  1099. DBPROP_SUPPORTEDTXNISORETAIN                 = 0x00000072L,
  1100. DBPROP_TABLETERM                             = 0x00000073L,
  1101. DBPROP_TBL_TEMPTABLE                         = 0x0000008cL,
  1102. DBPROP_TRANSACTEDOBJECT                      = 0x00000074L,
  1103. DBPROP_UPDATABILITY                          = 0x00000075L,
  1104. DBPROP_USERNAME                              = 0x00000076L,
  1105. };
  1106. cpp_quote("//@@@+ V1.5")
  1107. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  1108. enum DBPROPENUM15 {
  1109. DBPROP_FILTERCOMPAREOPS                      = 0x000000d1L,
  1110. DBPROP_FINDCOMPAREOPS                        = 0x000000d2L,
  1111. DBPROP_IChapteredRowset                      = 0x000000caL,
  1112. DBPROP_IDBAsynchStatus                       = 0x000000cbL,
  1113. DBPROP_IRowsetFind                           = 0x000000ccL,
  1114. DBPROP_IRowsetView                           = 0x000000d4L,
  1115. DBPROP_IViewChapter                          = 0x000000d5L,
  1116. DBPROP_IViewFilter                           = 0x000000d6L,
  1117. DBPROP_IViewRowset                           = 0x000000d7L,
  1118. DBPROP_IViewSort                             = 0x000000d8L,
  1119. DBPROP_INIT_ASYNCH                           = 0x000000c8L,
  1120. DBPROP_MAXOPENCHAPTERS                       = 0x000000c7L,
  1121. DBPROP_MAXORSINFILTER                        = 0x000000cdL,
  1122. DBPROP_MAXSORTCOLUMNS                        = 0x000000ceL,
  1123. DBPROP_ROWSET_ASYNCH                         = 0x000000c9L,
  1124. DBPROP_SORTONINDEX                           = 0x000000cfL,
  1125. };
  1126. cpp_quote("#endif // OLEDBVER >= 0x0150")
  1127. cpp_quote("//@@@- V1.5")
  1128. // VERSION 2.0
  1129. cpp_quote("//@@@+ V2.0")
  1130. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  1131. cpp_quote("#define DBPROP_PROVIDERFILENAME DBPROP_PROVIDERNAME")
  1132. cpp_quote("#define DBPROP_SERVER_NAME DBPROP_SERVERNAME")
  1133. enum DBPROPENUM20 {
  1134. DBPROP_IMultipleResults                      = 0x000000d9L,
  1135. DBPROP_DATASOURCE_TYPE                       = 0x000000fbL,
  1136. MDPROP_AXES                                  = 0x000000fcL,
  1137. MDPROP_FLATTENING_SUPPORT                    = 0x000000fdL,
  1138. MDPROP_MDX_JOINCUBES                         = 0x000000feL,
  1139. MDPROP_NAMED_LEVELS                          = 0x000000ffL,
  1140. MDPROP_RANGEROWSET                           = 0x00000100L,
  1141. MDPROP_MDX_SLICER                            = 0x000000daL,
  1142. MDPROP_MDX_CUBEQUALIFICATION  = 0x000000dbL,
  1143. MDPROP_MDX_OUTERREFERENCE  = 0x000000dcL,
  1144. MDPROP_MDX_QUERYBYPROPERTY  = 0x000000ddL,
  1145. MDPROP_MDX_CASESUPPORT  = 0x000000deL,
  1146. MDPROP_MDX_STRING_COMPOP  = 0x000000e0L,
  1147. MDPROP_MDX_DESCFLAGS  = 0x000000e1L,
  1148. MDPROP_MDX_SET_FUNCTIONS  = 0x000000e2L,
  1149. MDPROP_MDX_MEMBER_FUNCTIONS  = 0x000000e3L,
  1150. MDPROP_MDX_NUMERIC_FUNCTIONS  = 0x000000e4L,
  1151. MDPROP_MDX_FORMULAS  = 0x000000e5L,
  1152. MDPROP_AGGREGATECELL_UPDATE    = 0x000000e6L,
  1153. MDPROP_MDX_AGGREGATECELL_UPDATE  = MDPROP_AGGREGATECELL_UPDATE,
  1154. MDPROP_MDX_OBJQUALIFICATION  = 0x00000105L,
  1155. MDPROP_MDX_NONMEASURE_EXPRESSIONS  = 0x00000106L,
  1156. DBPROP_ACCESSORDER  = 0x000000e7L,
  1157. DBPROP_BOOKMARKINFO  = 0x000000e8L,
  1158. DBPROP_INIT_CATALOG        = 0x000000e9L,
  1159. DBPROP_ROW_BULKOPS  = 0x000000eaL,
  1160. DBPROP_PROVIDERFRIENDLYNAME  = 0x000000ebL,
  1161. DBPROP_LOCKMODE  = 0x000000ecL,
  1162. DBPROP_MULTIPLECONNECTIONS  = 0x000000edL,
  1163. DBPROP_UNIQUEROWS                            = 0x000000eeL,
  1164. DBPROP_SERVERDATAONINSERT                    = 0x000000efL,
  1165. DBPROP_STORAGEFLAGS  = 0x000000f0L,
  1166. DBPROP_CONNECTIONSTATUS  = 0x000000f4L,
  1167. DBPROP_ALTERCOLUMN  = 0x000000f5L,
  1168. DBPROP_COLUMNLCID  = 0x000000f6L,
  1169. DBPROP_RESETDATASOURCE  = 0x000000f7L,
  1170. DBPROP_INIT_OLEDBSERVICES  = 0x000000f8L,
  1171. DBPROP_IRowsetRefresh  = 0x000000f9L,
  1172. DBPROP_SERVERNAME  = 0x000000faL,
  1173. DBPROP_IParentRowset  = 0x00000101L,
  1174. DBPROP_HIDDENCOLUMNS  = 0x00000102L,
  1175. DBPROP_PROVIDERMEMORY  = 0x00000103L,
  1176. DBPROP_CLIENTCURSOR  = 0x00000104L,
  1177. };
  1178. cpp_quote("#endif // OLEDBVER >= 0x0200")
  1179. cpp_quote("//@@@- V2.0")
  1180. // VERSION 2.1
  1181. cpp_quote("//@@@+ V2.1")
  1182. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  1183. enum DBPROPENUM21 {
  1184. DBPROP_TRUSTEE_USERNAME = 0x000000f1L,
  1185. DBPROP_TRUSTEE_AUTHENTICATION = 0x000000f2L,
  1186. DBPROP_TRUSTEE_NEWAUTHENTICATION = 0x000000f3L,
  1187. DBPROP_IRow = 0x00000107L,
  1188. DBPROP_IRowChange = 0x00000108L,
  1189. DBPROP_IRowSchemaChange = 0x00000109L,
  1190. DBPROP_IGetRow = 0x0000010aL,
  1191. DBPROP_IScopedOperations = 0x0000010bL,
  1192. DBPROP_IBindResource = 0x0000010cL,
  1193. DBPROP_ICreateRow = 0x0000010dL,
  1194. DBPROP_INIT_BINDFLAGS = 0x0000010eL,
  1195. DBPROP_INIT_LOCKOWNER = 0x0000010fL,
  1196. DBPROP_GENERATEURL = 0x00000111L,
  1197. DBPROP_IDBBinderProperties = 0x00000112L,
  1198. DBPROP_IColumnsInfo2 = 0x00000113L,
  1199. DBPROP_IRegisterProvider = 0x00000114L,
  1200. DBPROP_IGetSession = 0x00000115L,
  1201. DBPROP_IGetSourceRow = 0x00000116L,
  1202. DBPROP_IRowsetCurrentIndex   = 0x00000117L,
  1203. DBPROP_OPENROWSETSUPPORT = 0x00000118L,
  1204. DBPROP_COL_ISLONG = 0x00000119L,
  1205. };
  1206. cpp_quote("#endif // OLEDBVER >= 0x0210")
  1207. cpp_quote("//@@@- V2.1")
  1208. // VERSION 2.5
  1209. cpp_quote("//@@@+ V2.5")
  1210. cpp_quote("#if( OLEDBVER >= 0x0250 )")
  1211. enum DBPROPENUM25 {
  1212. DBPROP_COL_SEED  = 0x0000011aL,
  1213. DBPROP_COL_INCREMENT  = 0x0000011bL,
  1214. DBPROP_INIT_GENERALTIMEOUT  = 0x0000011cL,
  1215. DBPROP_COMSERVICES    = 0x0000011dL,
  1216. };
  1217. cpp_quote("#endif // OLEDBVER >= 0x0250")
  1218. cpp_quote("//@@@- V2.5")
  1219. // VERSION 2.6
  1220. cpp_quote("//@@@+ V2.6")
  1221. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  1222. enum DBPROPENUM26 {
  1223. DBPROP_OUTPUTSTREAM  = 0x0000011eL,
  1224. DBPROP_OUTPUTENCODING  = 0x0000011fL,
  1225. DBPROP_TABLESTATISTICS   = 0x00000120L,
  1226. DBPROP_SKIPROWCOUNTRESULTS  = 0x00000123L,
  1227. DBPROP_IRowsetBookmark  = 0x00000124L,
  1228. MDPROP_VISUALMODE  = 0x00000125L,
  1229. };
  1230. cpp_quote("#endif // OLEDBVER >= 0x0260")
  1231. cpp_quote("//@@@- V2.6")
  1232. //+
  1233. //
  1234. // DBPROP_IPersistFile   -- reserved for future = 0x121L,
  1235. // DBPROP_IPersistStream -- reserved for future = 0x122L,
  1236. //
  1237. // Next free value:                                0x00000126L
  1238. //-
  1239. // deprecated
  1240. cpp_quote("//@@@+ deprecated")
  1241. cpp_quote("#ifdef deprecated")
  1242. enum DBPROPENUMDEPRECATED {
  1243. DBPROP_IRowsetExactScroll                    = 0x0000009aL,
  1244. DBPROP_MARSHALLABLE                          = 0x000000c5L,
  1245. DBPROP_FILTEROPS                             = 0x000000d0L,
  1246. };
  1247. cpp_quote("#endif // deprecated")
  1248. cpp_quote("//@@@- deprecated")
  1249. //
  1250. // Property value defines
  1251. //
  1252. cpp_quote("#define DBPROPVAL_BMK_NUMERIC  0x00000001L")
  1253. cpp_quote("#define DBPROPVAL_BMK_KEY  0x00000002L")
  1254. cpp_quote("#define DBPROPVAL_CL_START                                0x00000001L")
  1255. cpp_quote("#define DBPROPVAL_CL_END                                  0x00000002L")
  1256. cpp_quote("#define DBPROPVAL_CU_DML_STATEMENTS  0x00000001L")
  1257. cpp_quote("#define DBPROPVAL_CU_TABLE_DEFINITION  0x00000002L")
  1258. cpp_quote("#define DBPROPVAL_CU_INDEX_DEFINITION  0x00000004L")
  1259. cpp_quote("#define DBPROPVAL_CU_PRIVILEGE_DEFINITION  0x00000008L")
  1260. cpp_quote("#define DBPROPVAL_CD_NOTNULL  0x00000001L")
  1261. cpp_quote("#define DBPROPVAL_CB_NULL  0x00000001L")
  1262. cpp_quote("#define DBPROPVAL_CB_NON_NULL  0x00000002L")
  1263. cpp_quote("#define DBPROPVAL_FU_NOT_SUPPORTED  0x00000001L")
  1264. cpp_quote("#define DBPROPVAL_FU_COLUMN  0x00000002L")
  1265. cpp_quote("#define DBPROPVAL_FU_TABLE  0x00000004L")
  1266. cpp_quote("#define DBPROPVAL_FU_CATALOG  0x00000008L")
  1267. cpp_quote("#define DBPROPVAL_GB_NOT_SUPPORTED  0x00000001L")
  1268. cpp_quote("#define DBPROPVAL_GB_EQUALS_SELECT  0x00000002L")
  1269. cpp_quote("#define DBPROPVAL_GB_CONTAINS_SELECT  0x00000004L")
  1270. cpp_quote("#define DBPROPVAL_GB_NO_RELATION  0x00000008L")
  1271. cpp_quote("#define DBPROPVAL_HT_DIFFERENT_CATALOGS  0x00000001L")
  1272. cpp_quote("#define DBPROPVAL_HT_DIFFERENT_PROVIDERS  0x00000002L")
  1273. cpp_quote("#define DBPROPVAL_IC_UPPER  0x00000001L")
  1274. cpp_quote("#define DBPROPVAL_IC_LOWER  0x00000002L")
  1275. cpp_quote("#define DBPROPVAL_IC_SENSITIVE  0x00000004L")
  1276. cpp_quote("#define DBPROPVAL_IC_MIXED  0x00000008L")
  1277. // deprecated
  1278. cpp_quote("//@@@+ deprecated")
  1279. cpp_quote("#ifdef deprecated")
  1280. cpp_quote("#define DBPROPVAL_LM_NONE  0x00000001L")
  1281. cpp_quote("#define DBPROPVAL_LM_READ  0x00000002L")
  1282. cpp_quote("#define DBPROPVAL_LM_INTENT  0x00000004L")
  1283. cpp_quote("#define DBPROPVAL_LM_RITE  0x00000008L")
  1284. cpp_quote("#endif // deprecated")
  1285. cpp_quote("//@@@- deprecated")
  1286. cpp_quote("#define DBPROPVAL_NP_OKTODO  0x00000001L")
  1287. cpp_quote("#define DBPROPVAL_NP_ABOUTTODO  0x00000002L")
  1288. cpp_quote("#define DBPROPVAL_NP_SYNCHAFTER  0x00000004L")
  1289. cpp_quote("#define DBPROPVAL_NP_FAILEDTODO  0x00000008L")
  1290. cpp_quote("#define DBPROPVAL_NP_DIDEVENT  0x00000010L")
  1291. cpp_quote("#define DBPROPVAL_NC_END  0x00000001L")
  1292. cpp_quote("#define DBPROPVAL_NC_HIGH  0x00000002L")
  1293. cpp_quote("#define DBPROPVAL_NC_LOW  0x00000004L")
  1294. cpp_quote("#define DBPROPVAL_NC_START  0x00000008L")
  1295. cpp_quote("#define DBPROPVAL_OO_BLOB  0x00000001L")
  1296. cpp_quote("#define DBPROPVAL_OO_IPERSIST  0x00000002L")
  1297. cpp_quote("#define DBPROPVAL_CB_DELETE  0x00000001L")
  1298. cpp_quote("#define DBPROPVAL_CB_PRESERVE  0x00000002L")
  1299. cpp_quote("#define DBPROPVAL_SU_DML_STATEMENTS  0x00000001L")
  1300. cpp_quote("#define DBPROPVAL_SU_TABLE_DEFINITION  0x00000002L")
  1301. cpp_quote("#define DBPROPVAL_SU_INDEX_DEFINITION  0x00000004L")
  1302. cpp_quote("#define DBPROPVAL_SU_PRIVILEGE_DEFINITION  0x00000008L")
  1303. cpp_quote("#define DBPROPVAL_SQ_CORRELATEDSUBQUERIES  0x00000001L")
  1304. cpp_quote("#define DBPROPVAL_SQ_COMPARISON  0x00000002L")
  1305. cpp_quote("#define DBPROPVAL_SQ_EXISTS  0x00000004L")
  1306. cpp_quote("#define DBPROPVAL_SQ_IN  0x00000008L")
  1307. cpp_quote("#define DBPROPVAL_SQ_QUANTIFIED  0x00000010L")
  1308. cpp_quote("#define DBPROPVAL_SQ_TABLE  0x00000020L")
  1309. cpp_quote("#define DBPROPVAL_SS_ISEQUENTIALSTREAM  0x00000001L")
  1310. cpp_quote("#define DBPROPVAL_SS_ISTREAM  0x00000002L")
  1311. cpp_quote("#define DBPROPVAL_SS_ISTORAGE  0x00000004L")
  1312. cpp_quote("#define DBPROPVAL_SS_ILOCKBYTES  0x00000008L")
  1313. cpp_quote("#define DBPROPVAL_TI_CHAOS  0x00000010L")
  1314. cpp_quote("#define DBPROPVAL_TI_READUNCOMMITTED  0x00000100L")
  1315. cpp_quote("#define DBPROPVAL_TI_BROWSE  0x00000100L")
  1316. cpp_quote("#define DBPROPVAL_TI_CURSORSTABILITY  0x00001000L")
  1317. cpp_quote("#define DBPROPVAL_TI_READCOMMITTED  0x00001000L")
  1318. cpp_quote("#define DBPROPVAL_TI_REPEATABLEREAD  0x00010000L")
  1319. cpp_quote("#define DBPROPVAL_TI_SERIALIZABLE  0x00100000L")
  1320. cpp_quote("#define DBPROPVAL_TI_ISOLATED  0x00100000L")
  1321. cpp_quote("#define DBPROPVAL_TR_COMMIT_DC  0x00000001L")
  1322. cpp_quote("#define DBPROPVAL_TR_COMMIT  0x00000002L")
  1323. cpp_quote("#define DBPROPVAL_TR_COMMIT_NO  0x00000004L")
  1324. cpp_quote("#define DBPROPVAL_TR_ABORT_DC  0x00000008L")
  1325. cpp_quote("#define DBPROPVAL_TR_ABORT  0x00000010L")
  1326. cpp_quote("#define DBPROPVAL_TR_ABORT_NO  0x00000020L")
  1327. cpp_quote("#define DBPROPVAL_TR_DONTCARE  0x00000040L")
  1328. cpp_quote("#define DBPROPVAL_TR_BOTH  0x00000080L")
  1329. cpp_quote("#define DBPROPVAL_TR_NONE  0x00000100L")
  1330. cpp_quote("#define DBPROPVAL_TR_OPTIMISTIC  0x00000200L")
  1331. cpp_quote("#define DBPROPVAL_RT_FREETHREAD  0x00000001L")
  1332. cpp_quote("#define DBPROPVAL_RT_APTMTTHREAD  0x00000002L")
  1333. cpp_quote("#define DBPROPVAL_RT_SINGLETHREAD  0x00000004L")
  1334. cpp_quote("#define DBPROPVAL_UP_CHANGE  0x00000001L")
  1335. cpp_quote("#define DBPROPVAL_UP_DELETE  0x00000002L")
  1336. cpp_quote("#define DBPROPVAL_UP_INSERT  0x00000004L")
  1337. cpp_quote("#define DBPROPVAL_SQL_NONE  0x00000000L")
  1338. cpp_quote("#define DBPROPVAL_SQL_ODBC_MINIMUM  0x00000001L")
  1339. cpp_quote("#define DBPROPVAL_SQL_ODBC_CORE  0x00000002L")
  1340. cpp_quote("#define DBPROPVAL_SQL_ODBC_EXTENDED  0x00000004L")
  1341. cpp_quote("#define DBPROPVAL_SQL_ANSI89_IEF  0x00000008L")
  1342. cpp_quote("#define DBPROPVAL_SQL_ANSI92_ENTRY  0x00000010L")
  1343. cpp_quote("#define DBPROPVAL_SQL_FIPS_TRANSITIONAL  0x00000020L")
  1344. cpp_quote("#define DBPROPVAL_SQL_ANSI92_INTERMEDIATE  0x00000040L")
  1345. cpp_quote("#define DBPROPVAL_SQL_ANSI92_FULL  0x00000080L")
  1346. cpp_quote("#define DBPROPVAL_SQL_ESCAPECLAUSES  0x00000100L")
  1347. cpp_quote("#define DBPROPVAL_IT_BTREE                                0x00000001L")
  1348. cpp_quote("#define DBPROPVAL_IT_HASH                                 0x00000002L")
  1349. cpp_quote("#define DBPROPVAL_IT_CONTENT                              0x00000003L")
  1350. cpp_quote("#define DBPROPVAL_IT_OTHER                                0x00000004L")
  1351. cpp_quote("#define DBPROPVAL_IN_DISALLOWNULL                         0x00000001L")
  1352. cpp_quote("#define DBPROPVAL_IN_IGNORENULL                           0x00000002L")
  1353. cpp_quote("#define DBPROPVAL_IN_IGNOREANYNULL                        0x00000004L")
  1354. cpp_quote("#define DBPROPVAL_TC_NONE                                 0x00000000L")
  1355. cpp_quote("#define DBPROPVAL_TC_DML                                  0x00000001L")
  1356. cpp_quote("#define DBPROPVAL_TC_DDL_COMMIT                           0x00000002L")
  1357. cpp_quote("#define DBPROPVAL_TC_DDL_IGNORE                           0x00000004L")
  1358. cpp_quote("#define DBPROPVAL_TC_ALL                                  0x00000008L")
  1359. cpp_quote("#define DBPROPVAL_NP_OKTODO                               0x00000001L")
  1360. cpp_quote("#define DBPROPVAL_NP_ABOUTTODO                            0x00000002L")
  1361. cpp_quote("#define DBPROPVAL_NP_SYNCHAFTER                           0x00000004L")
  1362. cpp_quote("#define DBPROPVAL_OA_NOTSUPPORTED                         0x00000001L")
  1363. cpp_quote("#define DBPROPVAL_OA_ATEXECUTE                            0x00000002L")
  1364. cpp_quote("#define DBPROPVAL_OA_ATROWRELEASE                         0x00000004L")
  1365. cpp_quote("#define DBPROPVAL_MR_NOTSUPPORTED                         0x00000000L")
  1366. cpp_quote("#define DBPROPVAL_MR_SUPPORTED                            0x00000001L")
  1367. cpp_quote("#define DBPROPVAL_MR_CONCURRENT                           0x00000002L")
  1368. cpp_quote("#define DBPROPVAL_PT_GUID_NAME                            0x00000001L")
  1369. cpp_quote("#define DBPROPVAL_PT_GUID_PROPID                          0x00000002L")
  1370. cpp_quote("#define DBPROPVAL_PT_NAME                                 0x00000004L")
  1371. cpp_quote("#define DBPROPVAL_PT_GUID                                 0x00000008L")
  1372. cpp_quote("#define DBPROPVAL_PT_PROPID  0x00000010L")
  1373. cpp_quote("#define DBPROPVAL_PT_PGUID_NAME                           0x00000020L")
  1374. cpp_quote("#define DBPROPVAL_PT_PGUID_PROPID  0x00000040L")
  1375. cpp_quote("#define DBPROPVAL_NT_SINGLEROW                            0x00000001L")
  1376. cpp_quote("#define DBPROPVAL_NT_MULTIPLEROWS                         0x00000002L")
  1377. // VERSION 1.5
  1378. cpp_quote("//@@@+ V1.5")
  1379. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  1380. cpp_quote("#define DBPROPVAL_ASYNCH_INITIALIZE                       0x00000001L")
  1381. cpp_quote("#define DBPROPVAL_ASYNCH_SEQUENTIALPOPULATION             0x00000002L")
  1382. cpp_quote("#define DBPROPVAL_ASYNCH_RANDOMPOPULATION                 0x00000004L")
  1383. cpp_quote("#define DBPROPVAL_OP_EQUAL                                0x00000001L")
  1384. cpp_quote("#define DBPROPVAL_OP_RELATIVE                             0x00000002L")
  1385. cpp_quote("#define DBPROPVAL_OP_STRING                               0x00000004L")
  1386. cpp_quote("#define DBPROPVAL_CO_EQUALITY                             0x00000001L")
  1387. cpp_quote("#define DBPROPVAL_CO_STRING                               0x00000002L")
  1388. cpp_quote("#define DBPROPVAL_CO_CASESENSITIVE                        0x00000004L")
  1389. cpp_quote("#define DBPROPVAL_CO_CASEINSENSITIVE                      0x00000008L")
  1390. cpp_quote("#endif // OLEDBVER >= 0x0150")
  1391. cpp_quote("//@@@- V1.5")
  1392. // VERSION 2.0
  1393. cpp_quote("//@@@+ V2.0")
  1394. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  1395. cpp_quote("#define DBPROPVAL_CO_CONTAINS                      0x00000010L")
  1396. cpp_quote("#define DBPROPVAL_CO_BEGINSWITH                      0x00000020L")
  1397. cpp_quote("#define DBPROPVAL_ASYNCH_BACKGROUNDPOPULATION 0x00000008L")
  1398. cpp_quote("#define DBPROPVAL_ASYNCH_PREPOPULATE 0x00000010L")
  1399. cpp_quote("#define DBPROPVAL_ASYNCH_POPULATEONDEMAND 0x00000020L")
  1400. cpp_quote("#define DBPROPVAL_LM_NONE  0x00000001L")
  1401. cpp_quote("#define DBPROPVAL_LM_SINGLEROW  0x00000002L")
  1402. cpp_quote("#define DBPROPVAL_SQL_SUBMINIMUM   0x00000200L")
  1403. cpp_quote("#define DBPROPVAL_DST_TDP                                 0x00000001L")
  1404. cpp_quote("#define DBPROPVAL_DST_MDP                                 0x00000002L")
  1405. cpp_quote("#define DBPROPVAL_DST_TDPANDMDP                           0x00000003L")
  1406. cpp_quote("#define MDPROPVAL_AU_UNSUPPORTED                          0x00000000L")
  1407. cpp_quote("#define MDPROPVAL_AU_UNCHANGED                            0x00000001L")
  1408. cpp_quote("#define MDPROPVAL_AU_UNKNOWN                              0x00000002L")
  1409. cpp_quote("#define MDPROPVAL_MF_WITH_CALCMEMBERS                     0x00000001L")
  1410. cpp_quote("#define MDPROPVAL_MF_WITH_NAMEDSETS                       0x00000002L")
  1411. cpp_quote("#define MDPROPVAL_MF_CREATE_CALCMEMBERS                   0x00000004L")
  1412. cpp_quote("#define MDPROPVAL_MF_CREATE_NAMEDSETS                     0x00000008L")
  1413. cpp_quote("#define MDPROPVAL_MF_SCOPE_SESSION  0x00000010L")
  1414. cpp_quote("#define MDPROPVAL_MF_SCOPE_GLOBAL                         0x00000020L")
  1415. cpp_quote("#define MDPROPVAL_MMF_COUSIN                              0x00000001L")
  1416. cpp_quote("#define MDPROPVAL_MMF_PARALLELPERIOD                      0x00000002L")
  1417. cpp_quote("#define MDPROPVAL_MMF_OPENINGPERIOD                       0x00000004L")
  1418. cpp_quote("#define MDPROPVAL_MMF_CLOSINGPERIOD                       0x00000008L")
  1419. cpp_quote("#define MDPROPVAL_MNF_MEDIAN 0x00000001L")
  1420. cpp_quote("#define MDPROPVAL_MNF_VAR 0x00000002L")
  1421. cpp_quote("#define MDPROPVAL_MNF_STDDEV 0x00000004L")
  1422. cpp_quote("#define MDPROPVAL_MNF_RANK 0x00000008L")
  1423. cpp_quote("#define MDPROPVAL_MNF_AGGREGATE 0x00000010L")
  1424. cpp_quote("#define MDPROPVAL_MNF_COVARIANCE 0x00000020L")
  1425. cpp_quote("#define MDPROPVAL_MNF_CORRELATION 0x00000040L")
  1426. cpp_quote("#define MDPROPVAL_MNF_LINREGSLOPE 0x00000080L")
  1427. cpp_quote("#define MDPROPVAL_MNF_LINREGVARIANCE 0x00000100L")
  1428. cpp_quote("#define MDPROPVAL_MNF_LINREG2 0x00000200L")
  1429. cpp_quote("#define MDPROPVAL_MNF_LINREGPOINT 0x00000400L")
  1430. cpp_quote("#define MDPROPVAL_MNF_DRILLDOWNLEVEL 0x00000800L")
  1431. cpp_quote("#define MDPROPVAL_MNF_DRILLDOWNMEMBERTOP 0x00001000L")
  1432. cpp_quote("#define MDPROPVAL_MNF_DRILLDOWNMEMBERBOTTOM 0x00002000L")
  1433. cpp_quote("#define MDPROPVAL_MNF_DRILLDOWNLEVELTOP 0x00004000L")
  1434. cpp_quote("#define MDPROPVAL_MNF_DRILLDOWNLEVELBOTTOM 0x00008000L")
  1435. cpp_quote("#define MDPROPVAL_MNF_DRILLUPMEMBER 0x00010000L")
  1436. cpp_quote("#define MDPROPVAL_MNF_DRILLUPLEVEL 0x00020000L")
  1437. cpp_quote("#define MDPROPVAL_MMF_COUSIN 0x00000001L")
  1438. cpp_quote("#define MDPROPVAL_MMF_PARALLELPERIOD 0x00000002L")
  1439. cpp_quote("#define MDPROPVAL_MMF_OPENINGPERIOD 0x00000004L")
  1440. cpp_quote("#define MDPROPVAL_MMF_CLOSINGPERIOD 0x00000008L")
  1441. cpp_quote("#define MDPROPVAL_MSF_TOPPERCENT 0x00000001L")
  1442. cpp_quote("#define MDPROPVAL_MSF_BOTTOMPERCENT 0x00000002L")
  1443. cpp_quote("#define MDPROPVAL_MSF_TOPSUM 0x00000004L")
  1444. cpp_quote("#define MDPROPVAL_MSF_BOTTOMSUM 0x00000008L")
  1445. cpp_quote("#define MDPROPVAL_MSF_PERIODSTODATE 0x00000010L")
  1446. cpp_quote("#define MDPROPVAL_MSF_LASTPERIODS 0x00000020L")
  1447. cpp_quote("#define MDPROPVAL_MSF_YTD 0x00000040L")
  1448. cpp_quote("#define MDPROPVAL_MSF_QTD 0x00000080L")
  1449. cpp_quote("#define MDPROPVAL_MSF_MTD 0x00000100L")
  1450. cpp_quote("#define MDPROPVAL_MSF_WTD 0x00000200L")
  1451. cpp_quote("#define MDPROPVAL_MSF_DRILLDOWNMEMBBER 0x00000400L")
  1452. cpp_quote("#define MDPROPVAL_MSF_DRILLDOWNLEVEL 0x00000800L")
  1453. cpp_quote("#define MDPROPVAL_MSF_DRILLDOWNMEMBERTOP 0x00001000L")
  1454. cpp_quote("#define MDPROPVAL_MSF_DRILLDOWNMEMBERBOTTOM 0x00002000L")
  1455. cpp_quote("#define MDPROPVAL_MSF_DRILLDOWNLEVELTOP 0x00004000L")
  1456. cpp_quote("#define MDPROPVAL_MSF_DRILLDOWNLEVELBOTTOM 0x00008000L")
  1457. cpp_quote("#define MDPROPVAL_MSF_DRILLUPMEMBER 0x00010000L")
  1458. cpp_quote("#define MDPROPVAL_MSF_DRILLUPLEVEL 0x00020000L")
  1459. cpp_quote("#define MDPROPVAL_MSF_TOGGLEDRILLSTATE 0x00040000L")
  1460. cpp_quote("// values for MDPROP_MDX_DESCFLAGS")
  1461. cpp_quote("#define MDPROPVAL_MD_SELF 0x00000001L")
  1462. cpp_quote("#define MDPROPVAL_MD_BEFORE 0x00000002L")
  1463. cpp_quote("#define MDPROPVAL_MD_AFTER 0x00000004L")
  1464. cpp_quote("// values for MDPROP_MDX_STRING_COMPOP")
  1465. cpp_quote("#define MDPROPVAL_MSC_LESSTHAN 0x00000001L")
  1466. cpp_quote("#define MDPROPVAL_MSC_GREATERTHAN 0x00000002L")
  1467. cpp_quote("#define MDPROPVAL_MSC_LESSTHANEQUAL 0x00000004L")
  1468. cpp_quote("#define MDPROPVAL_MSC_GREATERTHANEQUAL 0x00000008L")
  1469. cpp_quote("#define MDPROPVAL_MC_SINGLECASE 0x00000001L")
  1470. cpp_quote("#define MDPROPVAL_MC_SEARCHEDCASE 0x00000002L")
  1471. cpp_quote("#define MDPROPVAL_MOQ_OUTERREFERENCE 0x00000001L")
  1472. cpp_quote("#define MDPROPVAL_MOQ_DATASOURCE_CUBE 0x00000001L")
  1473. cpp_quote("#define MDPROPVAL_MOQ_CATALOG_CUBE 0x00000002L")
  1474. cpp_quote("#define MDPROPVAL_MOQ_SCHEMA_CUBE 0x00000004L")
  1475. cpp_quote("#define MDPROPVAL_MOQ_CUBE_DIM 0x00000008L")
  1476. cpp_quote("#define MDPROPVAL_MOQ_DIM_HIER 0x00000010L")
  1477. cpp_quote("#define MDPROPVAL_MOQ_DIMHIER_LEVEL 0x00000020L")
  1478. cpp_quote("#define MDPROPVAL_MOQ_LEVEL_MEMBER 0x00000040L")
  1479. cpp_quote("#define MDPROPVAL_MOQ_MEMBER_MEMBER 0x00000080L")
  1480. cpp_quote("#define MDPROPVAL_MOQ_DIMHIER_MEMBER 0x00000100L")
  1481. cpp_quote("#define MDPROPVAL_FS_FULL_SUPPORT 0x00000001L")
  1482. cpp_quote("#define MDPROPVAL_FS_GENERATED_COLUMN 0x00000002L")
  1483. cpp_quote("#define MDPROPVAL_FS_GENERATED_DIMENSION 0x00000003L")
  1484. cpp_quote("#define MDPROPVAL_FS_NO_SUPPORT 0x00000004L")
  1485. cpp_quote("#define MDPROPVAL_NL_NAMEDLEVELS 0x00000001L")
  1486. cpp_quote("#define MDPROPVAL_NL_NUMBEREDLEVELS 0x00000002L")
  1487. cpp_quote("#define MDPROPVAL_MJC_SINGLECUBE 0x00000001L")
  1488. cpp_quote("#define MDPROPVAL_MJC_MULTICUBES 0x00000002L")
  1489. cpp_quote("#define MDPROPVAL_MJC_IMPLICITCUBE 0x00000004L")
  1490. cpp_quote("#define MDPROPVAL_RR_NORANGEROWSET 0x00000001L")
  1491. cpp_quote("#define MDPROPVAL_RR_READONLY 0x00000002L")
  1492. cpp_quote("#define MDPROPVAL_RR_UPDATE 0x00000004L")
  1493. cpp_quote("#define MDPROPVAL_MS_MULTIPLETUPLES 0x00000001L")
  1494. cpp_quote("#define MDPROPVAL_MS_SINGLETUPLE 0x00000002L")
  1495. cpp_quote("#define MDPROPVAL_NME_ALLDIMENSIONS 0x00000000L")
  1496. cpp_quote("#define MDPROPVAL_NME_MEASURESONLY 0x00000001L")
  1497. cpp_quote("#define DBPROPVAL_AO_SEQUENTIAL 0x00000000L")
  1498. cpp_quote("#define DBPROPVAL_AO_SEQUENTIALSTORAGEOBJECTS 0x00000001L")
  1499. cpp_quote("#define DBPROPVAL_AO_RANDOM 0x00000002L")
  1500. cpp_quote("#define DBPROPVAL_BD_ROWSET 0x00000000L")
  1501. cpp_quote("#define DBPROPVAL_BD_INTRANSACTION 0x00000001L")
  1502. cpp_quote("#define DBPROPVAL_BD_XTRANSACTION 0x00000002L")
  1503. cpp_quote("#define DBPROPVAL_BD_REORGANIZATION 0x00000003L")
  1504. cpp_quote("#define BMK_DURABILITY_ROWSET DBPROPVAL_BD_ROWSET")
  1505. cpp_quote("#define BMK_DURABILITY_INTRANSACTION DBPROPVAL_BD_INTRANSACTION")
  1506. cpp_quote("#define BMK_DURABILITY_XTRANSACTION DBPROPVAL_BD_XTRANSACTION")
  1507. cpp_quote("#define BMK_DURABILITY_REORGANIZATION DBPROPVAL_BD_REORGANIZATION")
  1508. cpp_quote("#define DBPROPVAL_BO_NOLOG 0x00000000L")
  1509. cpp_quote("#define DBPROPVAL_BO_NOINDEXUPDATE 0x00000001L")
  1510. cpp_quote("#define DBPROPVAL_BO_REFINTEGRITY 0x00000002L")
  1511. cpp_quote("#if !defined(_WINBASE_)")
  1512. cpp_quote("#define OF_READ             0x00000000")
  1513. cpp_quote("#define OF_WRITE            0x00000001")
  1514. cpp_quote("#define OF_READWRITE        0x00000002")
  1515. cpp_quote("#define OF_SHARE_COMPAT     0x00000000")
  1516. cpp_quote("#define OF_SHARE_EXCLUSIVE  0x00000010")
  1517. cpp_quote("#define OF_SHARE_DENY_WRITE 0x00000020")
  1518. cpp_quote("#define OF_SHARE_DENY_READ  0x00000030")
  1519. cpp_quote("#define OF_SHARE_DENY_NONE  0x00000040")
  1520. cpp_quote("#define OF_PARSE            0x00000100")
  1521. cpp_quote("#define OF_DELETE           0x00000200")
  1522. cpp_quote("#define OF_VERIFY           0x00000400")
  1523. cpp_quote("#define OF_CANCEL           0x00000800")
  1524. cpp_quote("#define OF_CREATE           0x00001000")
  1525. cpp_quote("#define OF_PROMPT           0x00002000")
  1526. cpp_quote("#define OF_EXIST            0x00004000")
  1527. cpp_quote("#define OF_REOPEN           0x00008000")
  1528. cpp_quote("#endif // !_WINBASE_")
  1529. cpp_quote("#define DBPROPVAL_STGM_READ OF_READ")
  1530. cpp_quote("#define DBPROPVAL_STGM_WRITE OF_WRITE")
  1531. cpp_quote("#define DBPROPVAL_STGM_READWRITE OF_READWRITE")
  1532. cpp_quote("#define DBPROPVAL_STGM_SHARE_DENY_NONE OF_SHARE_DENY_NONE")
  1533. cpp_quote("#define DBPROPVAL_STGM_SHARE_DENY_READ OF_SHARE_DENY_READ")
  1534. cpp_quote("#define DBPROPVAL_STGM_SHARE_DENY_WRITE OF_SHARE_DENY_WRITE")
  1535. cpp_quote("#define DBPROPVAL_STGM_SHARE_EXCLUSIVE OF_SHARE_EXCLUSIVE")
  1536. cpp_quote("#define DBPROPVAL_STGM_DIRECT 0x00010000")
  1537. cpp_quote("#define DBPROPVAL_STGM_TRANSACTED 0x00020000")
  1538. cpp_quote("#define DBPROPVAL_STGM_CREATE OF_CREATE")
  1539. cpp_quote("#define DBPROPVAL_STGM_CONVERT 0x00040000")
  1540. cpp_quote("#define DBPROPVAL_STGM_FAILIFTHERE 0x00080000")
  1541. cpp_quote("#define DBPROPVAL_STGM_PRIORITY 0x00100000")
  1542. cpp_quote("#define DBPROPVAL_STGM_DELETEONRELEASE 0x00200000")
  1543. cpp_quote("#define DBPROPVAL_GB_COLLATE  0x00000010L")
  1544. cpp_quote("#define DBPROPVAL_CS_UNINITIALIZED 0x00000000L")
  1545. cpp_quote("#define DBPROPVAL_CS_INITIALIZED 0x00000001L")
  1546. cpp_quote("#define DBPROPVAL_CS_COMMUNICATIONFAILURE 0x00000002L")
  1547. cpp_quote("#define DBPROPVAL_RD_RESETALL 0xffffffffL")
  1548. cpp_quote("#define DBPROPVAL_OS_RESOURCEPOOLING 0x00000001L")
  1549. cpp_quote("#define DBPROPVAL_OS_TXNENLISTMENT 0x00000002L")
  1550. cpp_quote("#define DBPROPVAL_OS_CLIENTCURSOR    0x00000004L")
  1551. cpp_quote("#define DBPROPVAL_OS_ENABLEALL 0xffffffffL")
  1552. cpp_quote("#define DBPROPVAL_BI_CROSSROWSET 0x00000001L")
  1553. cpp_quote("#endif // OLEDBVER >= 0x0200")
  1554. cpp_quote("//@@@- V2.0")
  1555. // VERSION 2.1
  1556. cpp_quote("//@@@+ V2.1")
  1557. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  1558. cpp_quote("#define MDPROPVAL_NL_SCHEMAONLY                          0x00000004L")
  1559. cpp_quote("#define DBPROPVAL_OS_DISABLEALL 0x00000000L")
  1560. cpp_quote("#define DBPROPVAL_OO_ROWOBJECT 0x00000004L")
  1561. cpp_quote("#define DBPROPVAL_OO_SCOPED 0x00000008L")
  1562. cpp_quote("#define DBPROPVAL_OO_DIRECTBIND 0x00000010L")
  1563. cpp_quote("#define DBPROPVAL_DST_DOCSOURCE                          0x00000004L")
  1564. cpp_quote("#define DBPROPVAL_GU_NOTSUPPORTED                         0x00000001L")
  1565. cpp_quote("#define DBPROPVAL_GU_SUFFIX                          0x00000002L")
  1566. cpp_quote("#define DB_BINDFLAGS_DELAYFETCHCOLUMNS                    0x00000001L")
  1567. cpp_quote("#define DB_BINDFLAGS_DELAYFETCHSTREAM                     0x00000002L")
  1568. cpp_quote("#define DB_BINDFLAGS_RECURSIVE                      0x00000004L")
  1569. cpp_quote("#define DB_BINDFLAGS_OUTPUT  0x00000008L")
  1570. cpp_quote("#define DB_BINDFLAGS_COLLECTION  0x00000010L")
  1571. cpp_quote("#define DB_BINDFLAGS_OPENIFEXISTS  0x00000020L")
  1572. cpp_quote("#define DB_BINDFLAGS_OVERWRITE  0x00000040L")
  1573. cpp_quote("#define DB_BINDFLAGS_ISSTRUCTUREDDOCUMENT  0x00000080L")
  1574. cpp_quote("#define DBPROPVAL_ORS_TABLE  0x00000000L")
  1575. cpp_quote("#define DBPROPVAL_ORS_INDEX                               0x00000001L")
  1576. cpp_quote("#define DBPROPVAL_ORS_INTEGRATEDINDEX              0x00000002L")
  1577. cpp_quote("#define DBPROPVAL_TC_DDL_LOCK  0x00000010L")
  1578. cpp_quote("#define DBPROPVAL_ORS_STOREDPROC  0x00000004L")
  1579. cpp_quote("#define DBPROPVAL_IN_ALLOWNULL                          0x00000000L")
  1580. cpp_quote("#endif // OLEDBVER >= 0x0210")
  1581. cpp_quote("//@@@- V2.1")
  1582. // VERSION 2.5
  1583. cpp_quote("//@@@+ V2.5")
  1584. cpp_quote("#if( OLEDBVER >= 0x0250 )")
  1585. cpp_quote("#define DBPROPVAL_OO_SINGLETON 0x00000020L")
  1586. cpp_quote("#define DBPROPVAL_OS_AGR_AFTERSESSION 0x00000008L")
  1587. cpp_quote("#define DBPROPVAL_CM_TRANSACTIONS 0x00000001L")
  1588. cpp_quote("#endif // OLEDBVER >= 0x0250")
  1589. cpp_quote("//@@@- V2.5")
  1590. // VERSION 2.6
  1591. cpp_quote("//@@@+ V2.6")
  1592. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  1593. cpp_quote("#define DBPROPVAL_TS_CARDINALITY 0x00000001L")
  1594. cpp_quote("#define DBPROPVAL_TS_HISTOGRAM 0x00000002L")
  1595. cpp_quote("#define DBPROPVAL_ORS_HISTOGRAM 0x00000008L")
  1596. cpp_quote("#define MDPROPVAL_VISUAL_MODE_DEFAULT 0x00000000L")
  1597. cpp_quote("#define MDPROPVAL_VISUAL_MODE_VISUAL 0x00000001L")
  1598. cpp_quote("#define MDPROPVAL_VISUAL_MODE_VISUAL_OFF 0x00000002L")
  1599. cpp_quote("#endif // OLEDBVER >= 0x0260")
  1600. cpp_quote("//@@@- V2.6")
  1601. cpp_quote("#define DB_IMP_LEVEL_ANONYMOUS       0x00")
  1602. cpp_quote("#define DB_IMP_LEVEL_IDENTIFY        0x01")
  1603. cpp_quote("#define DB_IMP_LEVEL_IMPERSONATE     0x02")
  1604. cpp_quote("#define DB_IMP_LEVEL_DELEGATE        0x03")
  1605. cpp_quote("#define DBPROMPT_PROMPT              0x01")
  1606. cpp_quote("#define DBPROMPT_COMPLETE            0x02")
  1607. cpp_quote("#define DBPROMPT_COMPLETEREQUIRED    0x03")
  1608. cpp_quote("#define DBPROMPT_NOPROMPT            0x04")
  1609. cpp_quote("#define DB_PROT_LEVEL_NONE           0x00")
  1610. cpp_quote("#define DB_PROT_LEVEL_CONNECT        0x01")
  1611. cpp_quote("#define DB_PROT_LEVEL_CALL           0x02")
  1612. cpp_quote("#define DB_PROT_LEVEL_PKT            0x03")
  1613. cpp_quote("#define DB_PROT_LEVEL_PKT_INTEGRITY  0x04")
  1614. cpp_quote("#define DB_PROT_LEVEL_PKT_PRIVACY    0x05")
  1615. cpp_quote("#define DB_MODE_READ                 0x01")
  1616. cpp_quote("#define DB_MODE_WRITE                0x02")
  1617. cpp_quote("#define DB_MODE_READWRITE            0x03")
  1618. cpp_quote("#define DB_MODE_SHARE_DENY_READ      0x04")
  1619. cpp_quote("#define DB_MODE_SHARE_DENY_WRITE     0x08")
  1620. cpp_quote("#define DB_MODE_SHARE_EXCLUSIVE 0x0c")
  1621. cpp_quote("#define DB_MODE_SHARE_DENY_NONE 0x10")
  1622. cpp_quote("#define DBCOMPUTEMODE_COMPUTED       0x01")
  1623. cpp_quote("#define DBCOMPUTEMODE_DYNAMIC        0x02")
  1624. cpp_quote("#define DBCOMPUTEMODE_NOTCOMPUTED    0x03")
  1625. cpp_quote("#define DBPROPVAL_DF_INITIALLY_DEFERRED      0x01")
  1626. cpp_quote("#define DBPROPVAL_DF_INITIALLY_IMMEDIATE     0x02")
  1627. cpp_quote("#define DBPROPVAL_DF_NOT_DEFERRABLE     0x03")
  1628. //
  1629. // DBPARAMS structure and related defintions
  1630. //
  1631. typedef struct tagDBPARAMS {
  1632. void * pData;
  1633. DB_UPARAMS cParamSets;
  1634. HACCESSOR hAccessor;
  1635. } DBPARAMS;
  1636. typedef DWORD DBPARAMFLAGS;
  1637. enum DBPARAMFLAGSENUM {
  1638. DBPARAMFLAGS_ISINPUT = 0x001,
  1639. DBPARAMFLAGS_ISOUTPUT = 0x002,
  1640. DBPARAMFLAGS_ISSIGNED = 0x010,
  1641. DBPARAMFLAGS_ISNULLABLE = 0x040,
  1642. DBPARAMFLAGS_ISLONG = 0x080,
  1643. };
  1644. cpp_quote("//@@@+ V2.0")
  1645. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  1646. enum DBPARAMFLAGSENUM20 {
  1647. DBPARAMFLAGS_SCALEISNEGATIVE = 0x100,
  1648. };
  1649. cpp_quote("#endif // OLEDBVER >= 0x0200")
  1650. cpp_quote("//@@@- V2.0")
  1651. typedef struct tagDBPARAMINFO {
  1652. DBPARAMFLAGS dwFlags;
  1653. DBORDINAL iOrdinal;
  1654. LPOLESTR pwszName;
  1655. ITypeInfo * pTypeInfo;
  1656. DBLENGTH ulParamSize;
  1657. DBTYPE wType;
  1658. BYTE bPrecision;
  1659. BYTE bScale;
  1660. } DBPARAMINFO;
  1661. //
  1662. // Property structs and related definitions
  1663. //
  1664. typedef DWORD DBPROPID;
  1665. typedef struct tagDBPROPIDSET {
  1666. [size_is(cPropertyIDs)] DBPROPID * rgPropertyIDs;
  1667. ULONG cPropertyIDs;
  1668. GUID guidPropertySet;
  1669. } DBPROPIDSET;
  1670. typedef DWORD DBPROPFLAGS;
  1671. enum DBPROPFLAGSENUM {
  1672. DBPROPFLAGS_NOTSUPPORTED = 0x0000,
  1673. DBPROPFLAGS_COLUMN = 0x0001,
  1674. DBPROPFLAGS_DATASOURCE = 0x0002,
  1675. DBPROPFLAGS_DATASOURCECREATE = 0x0004,
  1676. DBPROPFLAGS_DATASOURCEINFO = 0x0008,
  1677. DBPROPFLAGS_DBINIT = 0x0010,
  1678. DBPROPFLAGS_INDEX = 0x0020,
  1679. DBPROPFLAGS_ROWSET = 0x0040,
  1680. DBPROPFLAGS_TABLE = 0x0080,
  1681. DBPROPFLAGS_COLUMNOK = 0x0100,
  1682. DBPROPFLAGS_READ = 0x0200,
  1683. DBPROPFLAGS_WRITE = 0x0400,
  1684. DBPROPFLAGS_REQUIRED = 0x0800,
  1685. DBPROPFLAGS_SESSION = 0x1000,
  1686. };
  1687. cpp_quote("//@@@+ V2.1")
  1688. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  1689. enum DBPROPFLAGSENUM21 {
  1690. DBPROPFLAGS_TRUSTEE = 0x2000,
  1691. };
  1692. cpp_quote("#endif // OLEDBVER >= 0x0210")
  1693. cpp_quote("//@@@- V2.1")
  1694. cpp_quote("//@@@+ V2.5")
  1695. cpp_quote("#if( OLEDBVER >= 0x0250 )")
  1696. enum DBPROPFLAGSENUM25 {
  1697. DBPROPFLAGS_VIEW = 0x4000,
  1698. };
  1699. cpp_quote("#endif // OLEDBVER >= 0x0250")
  1700. cpp_quote("//@@@- V2.5")
  1701. cpp_quote("//@@@+ V2.6")
  1702. cpp_quote("#if( OLEDBVER >= 0x0260 )")
  1703. enum DBPROPFLAGSENUM26 {
  1704. DBPROPFLAGS_STREAM = 0x8000,
  1705. };
  1706. cpp_quote("#endif // OLEDBVER >= 0x0260")
  1707. cpp_quote("//@@@- V2.6")
  1708. typedef struct tagDBPROPINFO {
  1709. LPOLESTR pwszDescription;
  1710. DBPROPID dwPropertyID;
  1711. DBPROPFLAGS dwFlags;
  1712. VARTYPE vtType;
  1713. VARIANT vValues;
  1714. } DBPROPINFO;
  1715. typedef DBPROPINFO * PDBPROPINFO;
  1716. typedef struct tagDBPROPINFOSET
  1717. {
  1718. [size_is(cPropertyInfos)] PDBPROPINFO rgPropertyInfos;
  1719. ULONG cPropertyInfos;
  1720. GUID guidPropertySet;
  1721. } DBPROPINFOSET;
  1722. typedef DWORD DBPROPOPTIONS;
  1723. cpp_quote("// DBPROPOPTIONS_SETIFCHEAP is deprecated; use DBPROPOPTIONS_OPTIONAL instead.")
  1724. enum DBPROPOPTIONSENUM {
  1725. DBPROPOPTIONS_REQUIRED = 0x0000,
  1726. DBPROPOPTIONS_SETIFCHEAP = 0x0001,
  1727. DBPROPOPTIONS_OPTIONAL = 0x0001,
  1728. };
  1729. typedef DWORD DBPROPSTATUS;
  1730. enum DBPROPSTATUSENUM {
  1731. DBPROPSTATUS_OK = 0,
  1732. DBPROPSTATUS_NOTSUPPORTED = 1,
  1733. DBPROPSTATUS_BADVALUE = 2,
  1734. DBPROPSTATUS_BADOPTION = 3,
  1735. DBPROPSTATUS_BADCOLUMN = 4,
  1736. DBPROPSTATUS_NOTALLSETTABLE = 5,
  1737. DBPROPSTATUS_NOTSETTABLE = 6,
  1738. DBPROPSTATUS_NOTSET = 7,
  1739. DBPROPSTATUS_CONFLICTING = 8,
  1740. };
  1741. cpp_quote("//@@@+ V2.1")
  1742. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  1743. enum DBPROPSTATUSENUM21 {
  1744. DBPROPSTATUS_NOTAVAILABLE = 9,
  1745. };
  1746. cpp_quote("#endif // OLEDBVER >= 0x0210")
  1747. cpp_quote("//@@@- V2.1")
  1748. typedef struct tagDBPROP {
  1749. DBPROPID dwPropertyID;
  1750. DBPROPOPTIONS dwOptions;
  1751. DBPROPSTATUS dwStatus;
  1752. DBID colid;
  1753. VARIANT vValue;
  1754. } DBPROP;
  1755. typedef struct tagDBPROPSET {
  1756. [size_is(cProperties)] DBPROP * rgProperties;
  1757. ULONG cProperties;
  1758. GUID guidPropertySet;
  1759. } DBPROPSET;
  1760. //
  1761. // Schema definitions
  1762. //
  1763. cpp_quote("#define DBPARAMTYPE_INPUT 0x01")
  1764. cpp_quote("#define DBPARAMTYPE_INPUTOUTPUT 0x02")
  1765. cpp_quote("#define DBPARAMTYPE_OUTPUT 0x03")
  1766. cpp_quote("#define DBPARAMTYPE_RETURNVALUE 0x04")
  1767. cpp_quote("#define DB_PT_UNKNOWN 0x01")
  1768. cpp_quote("#define DB_PT_PROCEDURE 0x02")
  1769. cpp_quote("#define DB_PT_FUNCTION 0x03")
  1770. cpp_quote("#define DB_REMOTE 0x01")
  1771. cpp_quote("#define DB_LOCAL_SHARED 0x02")
  1772. cpp_quote("#define DB_LOCAL_EXCLUSIVE 0x03")
  1773. cpp_quote("#define DB_COLLATION_ASC 0x01")
  1774. cpp_quote("#define DB_COLLATION_DESC 0x02")
  1775. cpp_quote("#define DB_UNSEARCHABLE 0x01")
  1776. cpp_quote("#define DB_LIKE_ONLY 0x02")
  1777. cpp_quote("#define DB_ALL_EXCEPT_LIKE 0x03")
  1778. cpp_quote("#define DB_SEARCHABLE 0x04")
  1779. // VERSION 2.0
  1780. cpp_quote("//@@@+ V2.0")
  1781. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  1782. cpp_quote("#define MDTREEOP_CHILDREN            0x01")
  1783. cpp_quote("#define MDTREEOP_SIBLINGS            0x02")
  1784. cpp_quote("#define MDTREEOP_PARENT              0x04")
  1785. cpp_quote("#define MDTREEOP_SELF                0x08")
  1786. cpp_quote("#define MDTREEOP_DESCENDANTS         0x10")
  1787. cpp_quote("#define MDTREEOP_ANCESTORS 0x20")
  1788. cpp_quote("#define MD_DIMTYPE_UNKNOWN           0x00")
  1789. cpp_quote("#define MD_DIMTYPE_TIME              0x01")
  1790. cpp_quote("#define MD_DIMTYPE_MEASURE           0x02")
  1791. cpp_quote("#define MD_DIMTYPE_OTHER             0x03")
  1792. cpp_quote("#define MDLEVEL_TYPE_UNKNOWN         0x0000")
  1793. cpp_quote("#define MDLEVEL_TYPE_REGULAR         0x0000")
  1794. cpp_quote("#define MDLEVEL_TYPE_ALL             0x0001")
  1795. cpp_quote("#define MDLEVEL_TYPE_CALCULATED      0x0002")
  1796. cpp_quote("#define MDLEVEL_TYPE_TIME            0x0004")
  1797. cpp_quote("#define MDLEVEL_TYPE_RESERVED1       0x0008")
  1798. cpp_quote("#define MDLEVEL_TYPE_TIME_YEARS      0x0014")
  1799. cpp_quote("#define MDLEVEL_TYPE_TIME_HALF_YEAR  0x0024")
  1800. cpp_quote("#define MDLEVEL_TYPE_TIME_QUARTERS   0x0044")
  1801. cpp_quote("#define MDLEVEL_TYPE_TIME_MONTHS     0x0084")
  1802. cpp_quote("#define MDLEVEL_TYPE_TIME_WEEKS      0x0104")
  1803. cpp_quote("#define MDLEVEL_TYPE_TIME_DAYS       0x0204")
  1804. cpp_quote("#define MDLEVEL_TYPE_TIME_HOURS      0x0304")
  1805. cpp_quote("#define MDLEVEL_TYPE_TIME_MINUTES    0x0404")
  1806. cpp_quote("#define MDLEVEL_TYPE_TIME_SECONDS    0x0804")
  1807. cpp_quote("#define MDLEVEL_TYPE_TIME_UNDEFINED  0x1004")
  1808. cpp_quote("#define MDMEASURE_AGGR_UNKNOWN       0x00")
  1809. cpp_quote("#define MDMEASURE_AGGR_SUM           0x01")
  1810. cpp_quote("#define MDMEASURE_AGGR_COUNT         0x02")
  1811. cpp_quote("#define MDMEASURE_AGGR_MIN           0x03")
  1812. cpp_quote("#define MDMEASURE_AGGR_MAX           0x04")
  1813. cpp_quote("#define MDMEASURE_AGGR_AVG           0x05")
  1814. cpp_quote("#define MDMEASURE_AGGR_VAR           0x06")
  1815. cpp_quote("#define MDMEASURE_AGGR_STD           0x07")
  1816. cpp_quote("#define MDMEASURE_AGGR_CALCULATED    0x7f")
  1817. cpp_quote("#define MDPROP_MEMBER                0x01")
  1818. cpp_quote("#define MDPROP_CELL                  0x02")
  1819. cpp_quote("#define MDMEMBER_TYPE_UNKNOWN        0x00")
  1820. cpp_quote("#define MDMEMBER_TYPE_REGULAR        0x01")
  1821. cpp_quote("#define MDMEMBER_TYPE_ALL            0x02")
  1822. cpp_quote("#define MDMEMBER_TYPE_MEASURE        0x03")
  1823. cpp_quote("#define MDMEMBER_TYPE_FORMULA        0x04")
  1824. cpp_quote("#define MDMEMBER_TYPE_RESERVE1       0x05")
  1825. cpp_quote("#define MDMEMBER_TYPE_RESERVE2       0x06")
  1826. cpp_quote("#define MDMEMBER_TYPE_RESERVE3       0x07")
  1827. cpp_quote("#define MDMEMBER_TYPE_RESERVE4       0x08")
  1828. cpp_quote("#define MDDISPINFO_DRILLED_DOWN 0x00010000")
  1829. cpp_quote("#define MDDISPINFO_PARENT_SAME_AS_PREV 0x00020000")
  1830. cpp_quote("#endif // OLEDBVER >= 0x0200")
  1831. cpp_quote("//@@@- V2.0")
  1832. //
  1833. // Index column definition
  1834. //
  1835. typedef DWORD DBINDEX_COL_ORDER;
  1836. enum DBINDEX_COL_ORDERENUM {
  1837. DBINDEX_COL_ORDER_ASC,
  1838. DBINDEX_COL_ORDER_DESC,
  1839. };
  1840. typedef struct tagDBINDEXCOLUMNDESC {
  1841. DBID * pColumnID;
  1842. DBINDEX_COL_ORDER eIndexColOrder;
  1843. } DBINDEXCOLUMNDESC;
  1844. //
  1845. // Column description
  1846. //
  1847. typedef struct tagDBCOLUMNDESC {
  1848. LPOLESTR pwszTypeName;
  1849. ITypeInfo * pTypeInfo;
  1850. [size_is(cPropertySets)] DBPROPSET * rgPropertySets;
  1851. CLSID * pclsid;
  1852. ULONG cPropertySets;
  1853. DBLENGTH ulColumnSize;
  1854. DBID dbcid;
  1855. DBTYPE wType;
  1856. BYTE bPrecision;
  1857. BYTE bScale;
  1858. } DBCOLUMNDESC;
  1859. //
  1860. // Column Access
  1861. //
  1862. cpp_quote("//@@@+ V2.1")
  1863. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  1864. typedef struct tagDBCOLUMNACCESS {
  1865. void*  pData;
  1866. DBID columnid;
  1867. DBLENGTH cbDataLen;
  1868. DBSTATUS dwStatus;
  1869. DBLENGTH cbMaxLen;
  1870. DB_DWRESERVE dwReserved;
  1871. DBTYPE wType;
  1872. BYTE bPrecision;
  1873. BYTE bScale;
  1874. } DBCOLUMNACCESS;
  1875. cpp_quote("#endif // OLEDBVER >= 0x0210")
  1876. cpp_quote("//@@@- V2.1")
  1877. // VERSION 2.0
  1878. cpp_quote("//@@@+ V2.0")
  1879. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  1880. typedef DWORD DBCOLUMNDESCFLAGS;
  1881. enum DBCOLUMNDESCFLAGSENUM {
  1882. DBCOLUMNDESCFLAGS_TYPENAME = 0x0001,
  1883. DBCOLUMNDESCFLAGS_ITYPEINFO = 0x0002,
  1884. DBCOLUMNDESCFLAGS_PROPERTIES= 0x0004,
  1885. DBCOLUMNDESCFLAGS_CLSID = 0x0008,
  1886. DBCOLUMNDESCFLAGS_COLSIZE = 0x0010,
  1887. DBCOLUMNDESCFLAGS_DBCID = 0x0020,
  1888. DBCOLUMNDESCFLAGS_WTYPE = 0x0040,
  1889. DBCOLUMNDESCFLAGS_PRECISION = 0x0080,
  1890. DBCOLUMNDESCFLAGS_SCALE = 0x0100,
  1891. };
  1892. cpp_quote("#endif // OLEDBVER >= 0x0200")
  1893. cpp_quote("//@@@- V2.0")
  1894. //
  1895. // Notification events and reasons
  1896. //
  1897. typedef DWORD DBEVENTPHASE;
  1898. enum DBEVENTPHASEENUM {
  1899. DBEVENTPHASE_OKTODO,
  1900. DBEVENTPHASE_ABOUTTODO,
  1901. DBEVENTPHASE_SYNCHAFTER,
  1902. DBEVENTPHASE_FAILEDTODO,
  1903. DBEVENTPHASE_DIDEVENT
  1904. };
  1905. typedef DWORD DBREASON;
  1906. enum DBREASONENUM {
  1907. DBREASON_ROWSET_FETCHPOSITIONCHANGE,
  1908. DBREASON_ROWSET_RELEASE,
  1909. DBREASON_COLUMN_SET,
  1910. DBREASON_COLUMN_RECALCULATED,
  1911. DBREASON_ROW_ACTIVATE,
  1912. DBREASON_ROW_RELEASE,
  1913. DBREASON_ROW_DELETE,
  1914. DBREASON_ROW_FIRSTCHANGE,
  1915. DBREASON_ROW_INSERT,
  1916. DBREASON_ROW_RESYNCH,
  1917. DBREASON_ROW_UNDOCHANGE,
  1918. DBREASON_ROW_UNDOINSERT,
  1919. DBREASON_ROW_UNDODELETE,
  1920. DBREASON_ROW_UPDATE,
  1921. DBREASON_ROWSET_CHANGED, 
  1922. };
  1923. // VERSION 1.5
  1924. cpp_quote("//@@@+ V1.5")
  1925. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  1926. enum DBREASONENUM15 {
  1927. DBREASON_ROWPOSITION_CHANGED = DBREASON_ROWSET_CHANGED + 1,
  1928. DBREASON_ROWPOSITION_CHAPTERCHANGED,
  1929.   DBREASON_ROWPOSITION_CLEARED,
  1930. DBREASON_ROW_ASYNCHINSERT,
  1931. };
  1932. cpp_quote("#endif // OLEDBVER >= 0x0150")
  1933. cpp_quote("//@@@- V1.5")
  1934. cpp_quote("//@@@+ V1.5")
  1935. cpp_quote("#if( OLEDBVER >= 0x0150 )")
  1936. //
  1937. // Comparison operations
  1938. //
  1939. typedef DWORD DBCOMPAREOP;
  1940. enum DBCOMPAREOPSENUM {
  1941. DBCOMPAREOPS_LT = 0,
  1942. DBCOMPAREOPS_LE = 1,
  1943. DBCOMPAREOPS_EQ = 2,
  1944. DBCOMPAREOPS_GE = 3,
  1945. DBCOMPAREOPS_GT = 4,
  1946. DBCOMPAREOPS_BEGINSWITH = 5,
  1947. DBCOMPAREOPS_CONTAINS = 6,
  1948. DBCOMPAREOPS_NE = 7,
  1949. DBCOMPAREOPS_IGNORE = 8,
  1950. DBCOMPAREOPS_CASESENSITIVE = 0x1000,
  1951. DBCOMPAREOPS_CASEINSENSITIVE = 0x2000,
  1952. };
  1953. // VERSION 2.0
  1954. cpp_quote("//@@@+ V2.0")
  1955. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  1956. enum DBCOMPAREOPSENUM20 {
  1957. DBCOMPAREOPS_NOTBEGINSWITH = 9,
  1958. DBCOMPAREOPS_NOTCONTAINS = 10,
  1959. };
  1960. cpp_quote("#endif // OLEDBVER >= 0x0200")
  1961. cpp_quote("//@@@- V2.0")
  1962. //
  1963. // Asynch operations, status codes, and miscellaneous things
  1964. //
  1965. typedef DWORD DBASYNCHOP;
  1966. enum DBASYNCHOPENUM {
  1967. DBASYNCHOP_OPEN,
  1968. };
  1969. typedef DWORD DBASYNCHPHASE;
  1970. enum DBASYNCHPHASEENUM {
  1971. DBASYNCHPHASE_INITIALIZATION,
  1972. DBASYNCHPHASE_POPULATION,
  1973. DBASYNCHPHASE_COMPLETE,
  1974. DBASYNCHPHASE_CANCELED,
  1975. };
  1976. cpp_quote("#define DB_COUNTUNAVAILABLE -1")
  1977. cpp_quote("#endif // OLEDBVER >= 0x0150")
  1978. cpp_quote("//@@@- V1.5")
  1979. typedef DWORD DBSORT;
  1980. enum DBSORTENUM {
  1981. DBSORT_ASCENDING = 0,
  1982. DBSORT_DESCENDING,
  1983. };
  1984. // ICommandPersist
  1985. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  1986. typedef DWORD DBCOMMANDPERSISTFLAG;
  1987. enum DBCOMMANDPERSISTFLAGENUM {
  1988. DBCOMMANDPERSISTFLAG_NOSAVE = 0x01,
  1989. };
  1990. cpp_quote("#endif // OLEDBVER >= 0x0200")
  1991. cpp_quote("//@@@- V2.0")
  1992. cpp_quote("#if( OLEDBVER >= 0x0210 )")
  1993. enum DBCOMMANDPERSISTFLAGENUM21 {
  1994. DBCOMMANDPERSISTFLAG_DEFAULT = 0x00,
  1995. DBCOMMANDPERSISTFLAG_PERSISTVIEW = 0x02,
  1996. DBCOMMANDPERSISTFLAG_PERSISTPROCEDURE = 0x04,
  1997. };
  1998. typedef DWORD DBCONSTRAINTTYPE;
  1999. enum DBCONSTRAINTTYPEENUM {
  2000. DBCONSTRAINTTYPE_UNIQUE = 0x0,
  2001. DBCONSTRAINTTYPE_FOREIGNKEY = 0x1,
  2002. DBCONSTRAINTTYPE_PRIMARYKEY = 0x2,
  2003. DBCONSTRAINTTYPE_CHECK = 0x3
  2004. };
  2005. typedef DWORD DBUPDELRULE;
  2006. enum DBUPDELRULEENUM {
  2007. DBUPDELRULE_NOACTION = 0x0,
  2008. DBUPDELRULE_CASCADE = 0x1,
  2009. DBUPDELRULE_SETNULL = 0x2,
  2010. DBUPDELRULE_SETDEFAULT = 0x3
  2011. };
  2012. typedef DWORD DBMATCHTYPE;
  2013. enum DBMATCHTYPEENUM {
  2014. DBMATCHTYPE_FULL = 0x0,
  2015. DBMATCHTYPE_NONE = 0x1,
  2016. DBMATCHTYPE_PARTIAL = 0x2
  2017. };
  2018. typedef DWORD DBDEFERRABILITY;
  2019. enum DBDEFERRABILITYENUM {
  2020. DBDEFERRABILITY_DEFERRED = 0x1,
  2021. DBDEFERRABILITY_DEFERRABLE = 0x2
  2022. };
  2023. typedef struct tagDBCONSTRAINTDESC {
  2024. DBID * pConstraintID;
  2025. DBCONSTRAINTTYPE ConstraintType;
  2026. DBORDINAL cColumns;
  2027. [size_is((ULONG)cColumns)] DBID * rgColumnList;
  2028. DBID * pReferencedTableID;
  2029. DBORDINAL cForeignKeyColumns;
  2030. [size_is((ULONG)cForeignKeyColumns)] DBID * rgForeignKeyColumnList;
  2031. OLECHAR * pwszConstraintText;
  2032. DBUPDELRULE UpdateRule;
  2033. DBUPDELRULE DeleteRule;
  2034. DBMATCHTYPE MatchType;
  2035. DBDEFERRABILITY Deferrability;
  2036. DB_URESERVE cReserved;
  2037. [size_is((ULONG)cReserved)] DBPROPSET * rgReserved;
  2038. } DBCONSTRAINTDESC;
  2039. cpp_quote("#endif // OLEDBVER >= 0x0210")
  2040. cpp_quote("//@@@- V2.1")
  2041. //
  2042. // Tensor additions
  2043. //
  2044. // VERSION 2.0
  2045. cpp_quote("//@@@+ V2.0")
  2046. cpp_quote("#if( OLEDBVER >= 0x0200 )")
  2047. cpp_quote("#define MDFF_BOLD                    0x01")
  2048. cpp_quote("#define MDFF_ITALIC                  0x02")
  2049. cpp_quote("#define MDFF_UNDERLINE               0x04")
  2050. cpp_quote("#define MDFF_STRIKEOUT               0x08")
  2051. typedef struct tagMDAXISINFO {
  2052. DBLENGTH    cbSize;
  2053. DBCOUNTITEM iAxis;
  2054. DBCOUNTITEM cDimensions;
  2055. DBCOUNTITEM cCoordinates;
  2056. DBORDINAL  *rgcColumns;
  2057. LPOLESTR *rgpwszDimensionNames;
  2058. } MDAXISINFO;
  2059. cpp_quote("#define PMDAXISINFO_GETAT(rgAxisInfo, iAxis) ((MDAXISINFO *)(((BYTE *)(rgAxisInfo)) +((iAxis) * (rgAxisInfo)[0].cbSize)))")
  2060. cpp_quote("#define MDAXISINFO_GETAT(rgAxisInfo, iAxis) (*PMDAXISINFO_GETAT((rgAxisInfo), (iAxis)))")
  2061. cpp_quote("#define MDAXIS_COLUMNS               0x00000000")
  2062. cpp_quote("#define MDAXIS_ROWS                  0x00000001")
  2063. cpp_quote("#define MDAXIS_PAGES                 0x00000002")
  2064. cpp_quote("#define MDAXIS_SECTIONS              0x00000003")
  2065. cpp_quote("#define MDAXIS_CHAPTERS              0x00000004")
  2066. cpp_quote("#define MDAXIS_SLICERS               0xffffffff")
  2067. cpp_quote("#endif // OLEDBVER >= 0x0200")
  2068. cpp_quote("//@@@- V2.0")
  2069. //
  2070. // Interface remoting additions
  2071. //
  2072. typedef struct tagRMTPACK {
  2073. ISequentialStream * pISeqStream;
  2074. ULONG cbData;
  2075. ULONG cBSTR;
  2076. [size_is(cBSTR)] BSTR * rgBSTR;
  2077. ULONG cVARIANT;
  2078. [size_is(cVARIANT)] VARIANT * rgVARIANT;
  2079. ULONG cIDISPATCH;
  2080. [size_is(cIDISPATCH)] IDispatch ** rgIDISPATCH;
  2081. ULONG cIUNKNOWN;
  2082. [size_is(cIUNKNOWN)] IUnknown ** rgIUNKNOWN;
  2083. ULONG cPROPVARIANT;
  2084. [size_is(cPROPVARIANT)] PROPVARIANT * rgPROPVARIANT;
  2085. ULONG cArray;
  2086. [size_is(cArray)] VARIANT * rgArray;
  2087. } RMTPACK;
  2088. }