dbs.idl 100 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421
  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. }