home *** CD-ROM | disk | FTP | other *** search
/ business-86-101-185-173.business.broadband.hu / business-86-101-185-173.business.broadband.hu.zip / business-86-101-185-173.business.broadband.hu / salemax3 / sqlncli2005_x64.msi / msmd.h.A293C9A1_7AB0_4F57_BAF3_8C039536EC28 < prev    next >
Text File  |  2005-06-13  |  29KB  |  688 lines

  1. //------------------------------------------------------------------------
  2. // Microsoft MSMD OLE DB Interfaces (Analysis Services 2005)
  3. // (C) Copyright 1988 - 2003 By Microsoft Corporation.
  4. //
  5. // @doc This file contains constants specific to Microsoft SQL Server
  6. //      Analysis Services that might be useful to client applications.
  7. //
  8. // @module MSMD.H | Microsoft OLE DB Provider for Analysis Services Interfaces
  9. //------------------------------------------------------------------------
  10.  
  11. #ifndef __msmd_h__
  12. #define __msmd_h__
  13.  
  14. #ifdef INITGUID
  15. #pragma message ("msmd.h: Defining guids from " __FILE__)
  16. #else
  17. //#pragma message ("msmd.h: Not defining guids from " __FILE__)
  18. #endif
  19.  
  20. // GUIDs for DM.
  21. DEFINE_GUID(CLSID_MSDMine,           0x2CB6C2D3L, 0xDD7C, 0x11D2, 0xAF, 0xE4, 0x00, 0x10, 0x5A, 0x99, 0x47, 0x24 );
  22. DEFINE_GUID(DBPROPSET_DMSESSION,     0x854c773c,  0x1fe0, 0x4456, 0xbb, 0x10, 0x78, 0xaf, 0xee, 0x80, 0x86, 0x2a );
  23.  
  24. // GUIDs for OLAP.
  25. DEFINE_GUID(CLSID_MSOLAP,            0xa07ccd0cL, 0x8148, 0x11d0, 0x87, 0xbb, 0x00, 0xc0, 0x4f, 0xc3, 0x39, 0x42 );
  26. DEFINE_GUID(CLSID_MSOLAP_ENUMERATOR, 0xa07ccd0fL, 0x8148, 0x11d0, 0x87, 0xbb, 0x00, 0xc0, 0x4f, 0xc3, 0x39, 0x42 );
  27. DEFINE_GUID(CLSID_MSOLAP_ERROR,      0xa07ccd0dL, 0x8148, 0x11d0, 0x87, 0xbb, 0x00, 0xc0, 0x4f, 0xc3, 0x39, 0x42 );
  28. DEFINE_GUID(DBPROPSET_MSOLAPINIT,    0xa07ccd04L, 0x8148, 0x11d0, 0x87, 0xbb, 0x00, 0xc0, 0x4f, 0xc3, 0x39, 0x42 );
  29. DEFINE_GUID(DBPROPSET_MDX_EXTENSIONS,0xa07ccd05L, 0x8148, 0x11d0, 0x87, 0xbb, 0x00, 0xc0, 0x4f, 0xc3, 0x39, 0x42 );
  30. DEFINE_GUID(DBPROPSET_MSMDPERFSTAT,     0xa07ccd0aL, 0x8148, 0x11d0, 0x87, 0xbb, 0x00, 0xc0, 0x4f, 0xc3, 0x39, 0x42 );
  31.  
  32. #define DBPROPSET_MSMDINIT DBPROPSET_MSOLAPINIT
  33.  
  34.  
  35. // DataSource Initialization properties.
  36. // These are specific to Analysis Services.
  37. // DBPROPSET_MSOLAPINIT
  38.  
  39. #define DBPROP_MSMD_BASE                    0x1000
  40. #define DBPROP_MSMD_CREATECUBE                (DBPROP_MSMD_BASE +  1)
  41. #define DBPROP_MSMD_INSERTINTO                (DBPROP_MSMD_BASE +  2)
  42. #define DBPROP_MSMD_SOURCE_DSN                (DBPROP_MSMD_BASE +  3)
  43. #define DBPROP_MSMD_USEEXISTINGFILE            (DBPROP_MSMD_BASE +  7)
  44. #define DBPROP_MSMD_ARTIFICIALDATA            (DBPROP_MSMD_BASE +  8)
  45. #define DBPROP_MSMD_DATA_CACHE_SIZE            (DBPROP_MSMD_BASE +  9)
  46. #define DBPROP_MSMD_SOURCE_DSN_SUFFIX        (DBPROP_MSMD_BASE + 10)
  47. #define DBPROP_MSMD_AUTOSYNCHPERIOD            (DBPROP_MSMD_BASE + 11)
  48. #define DBPROP_MSMD_CACHEPOLICY                (DBPROP_MSMD_BASE + 12)
  49. #define DBPROP_MSMD_EXECLOCATION            (DBPROP_MSMD_BASE + 13)
  50. #define DBPROP_MSMD_WRITEBACK_TIMEOUT        (DBPROP_MSMD_BASE + 14)
  51. #define DBPROP_MSMD_DEFAULT_ISOLATION_MODE    (DBPROP_MSMD_BASE + 15)
  52. #define DBPROP_MSMD_COMPARECASESENSITIVESTRINGFLAGS    (DBPROP_MSMD_BASE + 16)
  53. #define DBPROP_MSMD_COMPARECASENOTSENSITIVESTRINGFLAGS (DBPROP_MSMD_BASE + 17)
  54. #define DBPROP_MSMD_LARGE_LEVEL_THRESHOLD    (DBPROP_MSMD_BASE + 18)
  55. #define DBPROP_MSMD_READ_ONLY_SESSION        (DBPROP_MSMD_BASE + 19)
  56. #define DBPROP_MSMD_SECURED_CELL_VALUE        (DBPROP_MSMD_BASE + 20)
  57. #define DBPROP_MSMD_ROLES                    (DBPROP_MSMD_BASE + 21)
  58. #define DBPROP_MSMD_MDXCOMPATIBILITY        (DBPROP_MSMD_BASE + 22)
  59. #define DBPROP_MSMD_SQLCOMPATIBILITY        (DBPROP_MSMD_BASE + 23)
  60. #define DBPROP_MSMD_SSPI                    (DBPROP_MSMD_BASE + 24)
  61. #define DBPROP_MSMD_MDXUNIQUENAMES            (DBPROP_MSMD_BASE + 25)
  62. #define DBPROP_MSMD_DISTINCTMEASURESBYKEY    (DBPROP_MSMD_BASE + 26)
  63. #define DBPROP_MSMD_DONOTAPPLYCOMMANDS        (DBPROP_MSMD_BASE + 27)
  64. #define DBPROP_MSMD_DEFAULT_MDX_VISUAL_MODE    (DBPROP_MSMD_BASE + 28)
  65. #define DBPROP_MSMD_MDX_CALC_MEMBERS_MODE    (DBPROP_MSMD_BASE + 29)
  66. #define DBPROP_MSMD_MINING_LOCATION            (DBPROP_MSMD_BASE + 30)
  67. #define DBPROP_MSMD_OLAP_SESSION            (DBPROP_MSMD_BASE + 31)
  68. #define DBPROP_MSMD_LOG_FILE                (DBPROP_MSMD_BASE + 32)
  69. #define DBPROP_MSMD_MINING_EXECUTION_LOCATION    (DBPROP_MSMD_BASE + 33)
  70. #define DBPROP_MSMD_MINING_PERSISTENCE_FORMAT    (DBPROP_MSMD_BASE + 34)
  71. #define DBPROP_MSMD_SHOW_HIDDEN_CUBES            (DBPROP_MSMD_BASE + 35)
  72. #define DBPROP_MSMD_DEFAULT_GUID_DIALECT        (DBPROP_MSMD_BASE + 36)
  73. #define DBPROP_MSMD_SAFETY_OPTIONS                (DBPROP_MSMD_BASE + 37)
  74. #define DBPROP_MSMD_CACHERATIO                    (DBPROP_MSMD_BASE + 38)
  75. #define DBPROP_MSMD_AUTHENTICATED_USER            (DBPROP_MSMD_BASE + 39)
  76. #define DBPROP_MSMD_CACHEMODE                    (DBPROP_MSMD_BASE + 40)
  77. #define DBPROP_MSMD_NONEMPTYTHRESHOLD            (DBPROP_MSMD_BASE + 41)
  78. #define DBPROP_MSMD_RESTRICTEDCLIENT            (DBPROP_MSMD_BASE + 42)
  79. #define DBPROP_MSMD_CACHERATIO2                    (DBPROP_MSMD_BASE + 43)
  80. #define DBPROP_MSMD_COMMANDTIMEOUT                (DBPROP_MSMD_BASE + 44)
  81. #define DBPROP_MSMD_USEFORMULACACHE                (DBPROP_MSMD_BASE + 45)
  82. #define DBPROP_MSMD_DYNAMICDEBUGLIMIT            (DBPROP_MSMD_BASE + 46)
  83. #define DBPROP_MSMD_DEBUGMODE                    (DBPROP_MSMD_BASE + 47)
  84.  
  85.  
  86. //
  87. // Begin added in Analysis Services 2005
  88. //
  89. #define DBPROP_MSMD_DATASOURCEINFO                (DBPROP_MSMD_BASE + 60)
  90. #define DBPROP_MSMD_SQLQUERYMODE                (DBPROP_MSMD_BASE + 61)
  91. #define DBPROP_MSMD_CUBE                        (DBPROP_MSMD_BASE + 62)
  92. #define DBPROP_MSMD_PROTOCOLFORMAT                (DBPROP_MSMD_BASE + 63)
  93. #define DBPROP_MSMD_TRANSPORTCOMPRESSION        (DBPROP_MSMD_BASE + 64)
  94. #define DBPROP_MSMD_COMPRESSIONLEVEL            (DBPROP_MSMD_BASE + 65)
  95. #define DBPROP_MSMD_CHARACTERENCODING            (DBPROP_MSMD_BASE + 66)
  96. #define DBPROP_MSMD_ENCRYPTION_PASSWORD            (DBPROP_MSMD_BASE + 67)
  97. #define DBPROP_MSMD_REAL_TIME_OLAP                (DBPROP_MSMD_BASE + 68)
  98. #define DBPROP_MSMD_CONNECT_TO                    (DBPROP_MSMD_BASE + 69)
  99. #define DBPROP_MSMD_EFFECTIVE_USERNAME            (DBPROP_MSMD_BASE + 70)
  100. #define DBPROP_MSMD_MDX_MISSING_MEMBER_MODE        (DBPROP_MSMD_BASE + 71)
  101. #define DBPROP_MSMD_SESSIONID                    (DBPROP_MSMD_BASE + 72)
  102. #define DBPROP_MSMD_CUSTOMDATA                    (DBPROP_MSMD_BASE + 73)
  103. #define DBPROP_MSMD_ERROR_MESSAGE_MODE            (DBPROP_MSMD_BASE + 74)
  104.  
  105. DEFINE_GUID(DBPROPSET_MDCOMMAND,     0x980883ff,  0xb1fa, 0x4fef, 0xaa, 0x92, 0x3e, 0x59, 0x60, 0xb3, 0x0f, 0x95 );
  106.  
  107. // DBPROPSET_MDCOMMAND properties
  108. #define DBPROP_MSMD_FLATTENED_ROWSET            (DBPROP_MSMD_BASE + 1)
  109. #define DBPROP_MSMD_FLATTENED2                    (DBPROP_MSMD_BASE + 2)
  110.  
  111. //
  112. // End added in Analysis Services 2005
  113. //
  114.  
  115. // DataSource properties.
  116. // These are specific to Analysis Services.
  117. // DBPROPSET_MSMDPERFSTAT
  118.  
  119. #define DBPROP_MSMD_PERFSTAT_QUERYCOUNT        (DBPROP_MSMD_BASE + 1)
  120. #define DBPROP_MSMD_PERFSTAT_QUERYTIME        (DBPROP_MSMD_BASE + 2)
  121. #define DBPROP_MSMD_PERFSTAT_QUERYCELLCOUNT    (DBPROP_MSMD_BASE + 3)
  122. #define DBPROP_MSMD_PERFSTAT_QUERYNETCOUNT    (DBPROP_MSMD_BASE + 4)
  123. #define DBPROP_MSMD_PERFSTAT_QUERYNETTIME    (DBPROP_MSMD_BASE + 5)
  124.  
  125.  
  126. // DataSource Information properties.
  127. // These are specific to Analysis Services, but could be created by anyone.
  128. // DBPROPSET_MDX_EXTENSIONS
  129.  
  130. #define DBPROP_MSMD_MDX_DDL_EXTENSIONS        (DBPROP_MSMD_BASE +  1)
  131. #define DBPROP_MSMD_MDX_USE_EXTENSIONS        (DBPROP_MSMD_BASE +  2)
  132. #define DBPROP_MSMD_MDX_CALCMEMB_EXTENSIONS    (DBPROP_MSMD_BASE +  3)
  133.  
  134. #define DBPROPVAL_MDX_DDL_CREATECUBE        0x0001
  135. #define DBPROPVAL_MDX_DDL_INSERTINTO        0x0002
  136. #define DBPROPVAL_MDX_DDL_REFRESHCUBE        0x0004
  137. #define DBPROPVAL_MDX_DLL_CREATESESSIONCUBE 0x0008
  138. #define DBPROPVAL_MDX_DLL_CREATEGLOBALCUBE    0x0010
  139.  
  140. #define DBPROPVAL_MDX_USE_LIBRARY        0x0001
  141. #define DBPROPVAL_MDX_USE_CATALOG        0x0002
  142.  
  143. #define DBPROPVAL_MDX_CALCMEMB_ADD        0x0001
  144. #define DBPROPVAL_MDX_CALCMEMB_STRIP    0x0002
  145.  
  146. #define DBPROPVAL_MSMD_CAP_DEFAULT                0x0000
  147. #define DBPROPVAL_MSMD_CAP_WINDOWING            0x0001
  148. #define DBPROPVAL_MSMD_CAP_ALLSCAN                0x0002
  149. #define DBPROPVAL_MSMD_CAP_ISOLATED                0x0003
  150. #define DBPROPVAL_MSMD_CAP_IGNORE_VP            0x0004
  151. #define DBPROPVAL_MSMD_CAP_INFINITE_VP            0x0005
  152. #define DBPROPVAL_MSMD_CAP_LARGEST_AREA_FIRST    0x0006
  153.  
  154. #define DBPROPVAL_MSMD_EXL_DEFAULT        0x0000
  155. #define DBPROPVAL_MSMD_EXL_SMART        0x0001
  156. #define DBPROPVAL_MSMD_EXL_CLIENT        0x0002
  157. #define DBPROPVAL_MSMD_EXL_SERVER        0x0003
  158.  
  159. #define DBPROPVAL_MSMD_LARGE_LEVEL_THRESHOLD_MIN 10
  160. #define DBPROPVAL_MSMD_LARGE_LEVEL_THRESHOLD_DEFAULT 1000
  161.  
  162. #define DBPROPVAL_MSMD_SECURED_CELL_VALUE_DEFAULT 0x0000
  163. #define DBPROPVAL_MSMD_SECURED_CELL_VALUE_NA      0x0001
  164. #define DBPROPVAL_MSMD_SECURED_CELL_VALUE_ERROR   0x0002
  165. #define DBPROPVAL_MSMD_SECURED_CELL_VALUE_NULL    0x0003
  166. #define DBPROPVAL_MSMD_SECURED_CELL_VALUE_ZERO    0x0004
  167. #define DBPROPVAL_MSMD_SECURED_CELL_VALUE_STRING  0x0005
  168.  
  169. #define DBPROP_MSMD_MDXCOMPATIBILITY_DEFAULT      0x0000
  170. #define DBPROP_MSMD_MDXCOMPATIBILITY_70           0x0001
  171. #define DBPROP_MSMD_MDXCOMPATIBILITY_7X           0x0002
  172.  
  173. #define DBPROP_MSMD_SQLCOMPATIBILITY_DEFAULT      0x0000
  174. #define DBPROP_MSMD_SQLCOMPATIBILITY_NORMAL       0x0001
  175. #define DBPROP_MSMD_SQLCOMPATIBILITY_COMPACT      0x0002
  176. #define DBPROP_MSMD_SQLCOMPATIBILITY_NOFIREHOSE   0x0003
  177. #define DBPROP_MSMD_SQLCOMPATIBILITY_80COMPATIBLE 0x0004
  178.  
  179. #define DBPROP_MSMD_MDXUNIQUENAMES_DEFAULT        0x0000
  180. #define DBPROP_MSMD_MDXUNIQUENAMES_KEYPATH        0x0001
  181. #define DBPROP_MSMD_MDXUNIQUENAMES_NAMEPATH       0x0002
  182. #define DBPROP_MSMD_MDXUNIQUENAMES_7X             0x0003
  183.  
  184. #define DBPROPVAL_VISUAL_MODE_DEFAULT              0x0000
  185. #define DBPROPVAL_VISUAL_MODE_VISUAL              0x0001
  186. #define DBPROPVAL_VISUAL_MODE_ORIGINAL              0x0002
  187.  
  188. #define DBPROPVAL_MSMD_CALC_MEMBERS_MODE_DEFAULT  0x0000
  189. #define DBPROPVAL_MSMD_CALC_MEMBERS_MODE_ADD      0x0001
  190. #define DBPROPVAL_MSMD_CALC_MEMBERS_MODE_STRIP    0x0002
  191. #define DBPROPVAL_MSMD_CALC_MEMBERS_MODE_ORIGINAL 0x0003
  192.  
  193. #define DBPROPVAL_MSMD_SAFETY_OPTIONS_DEFAULT      0x0000
  194. #define DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_ALL      0x0001
  195. #define DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_SAFE  0x0002
  196. #define DBPROPVAL_MSMD_SAFETY_OPTIONS_ALLOW_NONE  0x0003
  197.  
  198. #define DBPROPVAL_MSMD_CACHERATIO_LOWER              0.
  199. #define DBPROPVAL_MSMD_CACHERATIO_UPPER              1.
  200. #define  DBPROPVAL_MSMD_CACHERATIO_DEFAULT          0.5
  201.  
  202. #define DBPROPVAL_MSMD_CACHEMODE_DEFAULT            0x0000
  203. #define    DBPROPVAL_MSMD_CACHEMODE_REGONLY            0x0001
  204. #define    DBPROPVAL_MSMD_CACHEMODE_SCAN                0x0002
  205.  
  206. #define DBPROPVAL_MSMD_NO_ERRORS                    0
  207. #define DBPROPVAL_MSMD_SCRIPT_ERRORS                1
  208. #define DBPROPVAL_MSMD_SECURITY_ERRORS                2
  209.  
  210. // Constants for identifier lengths.
  211. // Note that these should also be returned by IDBInfo.
  212. #define MSMD_DBLITERAL_CATALOG_NAME_CCHMAXLEN                24
  213. #define MSMD_DBLITERAL_CUBE_NAME_CCHMAXLEN                    24
  214. #define MSMD_DBLITERAL_DIMENSION_NAME_CCHMAXLEN                14
  215. #define MSMD_DBLITERAL_HIERARCHY_NAME_CCHMAXLEN                10
  216. #define MSMD_DBLITERAL_DIMENSIONHIERARCHY_NAME_CCHMAXLEN    24
  217. #define MSMD_DBLITERAL_LEVEL_NAME_CCHMAXLEN                    255
  218. #define MSMD_DBLITERAL_MEMBER_NAME_CCHMAXLEN                255
  219.  
  220. #define MSMD_DBLITERAL_INVALID_STARTING_CHARS L"0123456789 "
  221. #define MSMD_DBLITERAL_INVALID_CHARS L"."
  222.  
  223.  
  224. // Provider-specific HRESULT codes.
  225. #define MSMD_E_TRANSACTION_COMMIT_TIMEOUT    ((HRESULT)0x8040F008)
  226.  
  227. // Provider-specific schema rowset restrictions
  228. #define CRESTRICTIONS_MDSCHEMA_FUNCTIONS                    4
  229. #define CRESTRICTIONS_MDSCHEMA_SETS                          5
  230.  
  231. // Provider-specific schema rowset restrictions
  232. #define CRESTRICTIONS_MDSCHEMA_COMMANDS                        5
  233.  
  234. // Provider-specific schema rowset Actions
  235. #define CRESTRICTIONS_MDSCHEMA_ACTIONS                        8
  236.  
  237. // Provider-specific schema rowset MeasureGroupDimensions
  238. #define CRESTRICTIONS_MDSCHEMA_MEASUREGROUP_DIMENSIONS        6
  239.  
  240. #define MSMD_SCHEMA_FUNCTIONS_ORIGIN_MSOLAP                    0x0001
  241. #define MSMD_SCHEMA_FUNCTIONS_ORIGIN_UDF                    0x0002
  242.  
  243. ////Note: The following items may be migrated to oledb.h in a future release
  244. #define    MD_DIMTYPE_QUANTITATIVE                                0x05
  245. #define    MD_DIMTYPE_ACCOUNTS                                    0x06
  246. #define    MD_DIMTYPE_CUSTOMERS                                0x07
  247. #define    MD_DIMTYPE_PRODUCTS                                    0x08
  248. #define    MD_DIMTYPE_SCENARIO                                    0x09
  249. #define    MD_DIMTYPE_UTILIY                                    0x0A
  250. #define    MD_DIMTYPE_CURRENCY                                    0x0B
  251. #define    MD_DIMTYPE_RATES                                    0x0C
  252. #define    MD_DIMTYPE_CHANNEL                                    0x0D
  253. #define    MD_DIMTYPE_PROMOTION                                0x0E
  254. #define    MD_DIMTYPE_ORGANIZATION                                0x0F
  255. #define    MD_DIMTYPE_BILL_OF_MATERIALS                        0x10
  256. #define    MD_DIMTYPE_GEOGRAPHY                                0x11
  257.  
  258. #define    MDLEVEL_TYPE_GEO_CONTINENT                            0x2001
  259. #define    MDLEVEL_TYPE_GEO_REGION                                0x2002
  260. #define    MDLEVEL_TYPE_GEO_COUNTRY                            0x2003
  261. #define    MDLEVEL_TYPE_GEO_STATE_OR_PROVINCE                    0x2004
  262. #define    MDLEVEL_TYPE_GEO_COUNTY                                0x2005
  263. #define    MDLEVEL_TYPE_GEO_CITY                                0x2006
  264. #define    MDLEVEL_TYPE_GEO_POSTALCODE                            0x2007
  265. #define    MDLEVEL_TYPE_GEO_POINT                                0x2008
  266. #define    MDLEVEL_TYPE_ORG_UNIT                                0x1011
  267. #define    MDLEVEL_TYPE_BOM_RESOURCE                            0x1012
  268. #define    MDLEVEL_TYPE_QUANTITATIVE                            0x1013
  269. #define    MDLEVEL_TYPE_ACCOUNT                                0x1014
  270. #define    MDLEVEL_TYPE_CUSTOMER                                0x1021
  271. #define    MDLEVEL_TYPE_CUSTOMER_GROUP                            0x1022
  272. #define    MDLEVEL_TYPE_CUSTOMER_HOUSEHOLD                        0x1023
  273. #define    MDLEVEL_TYPE_PRODUCT                                0x1031
  274. #define    MDLEVEL_TYPE_PRODUCT_GROUP                            0x1032
  275. #define    MDLEVEL_TYPE_SCENARIO                                0x1015
  276. #define    MDLEVEL_TYPE_UTILITY                                0x1016
  277. #define    MDLEVEL_TYPE_PERSON                                    0x1041
  278. #define    MDLEVEL_TYPE_COMPANY                                0x1042
  279. #define    MDLEVEL_TYPE_CURRENCY_SOURCE                        0x1051
  280. #define    MDLEVEL_TYPE_CURRENCY_DESTINATION                    0x1052
  281. #define    MDLEVEL_TYPE_CHANNEL                                0x1061
  282. #define    MDLEVEL_TYPE_REPRESENTATIVE                            0x1062
  283. #define    MDLEVEL_TYPE_PROMOTION                                0x1071
  284.  
  285. #define    MD_PROPTYPE_REGULAR                                  0x0000
  286. #define    MD_PROPTYPE_ID                                        0x0001
  287. #define    MD_PROPTYPE_RELATION_TO_PARENT                        0x0002
  288. #define MD_PROPTYPE_ROLLUP_OPERATOR                            0x0003
  289. #define    MD_PROPTYPE_ORG_TITLE                                0x0011
  290. #define    MD_PROPTYPE_CAPTION                                 0x0021
  291. #define    MD_PROPTYPE_CAPTION_SHORT                            0x0022
  292. #define    MD_PROPTYPE_CAPTION_DESCRIPTION                        0x0023
  293. #define    MD_PROPTYPE_CAPTION_ABBREVIATION                    0x0024
  294. #define    MD_PROPTYPE_WEB_URL                                    0x0031
  295. #define    MD_PROPTYPE_WEB_HTML                                0x0032
  296. #define    MD_PROPTYPE_WEB_XML_OR_XSL                            0x0033
  297. #define    MD_PROPTYPE_WEB_MAIL_ALIAS                            0x0034
  298. #define    MD_PROPTYPE_ADDRESS                                    0x0041
  299. #define    MD_PROPTYPE_ADDRESS_STREET                            0x0042
  300. #define    MD_PROPTYPE_ADDRESS_HOUSE                            0x0043
  301. #define    MD_PROPTYPE_ADDRESS_CITY                            0x0044
  302. #define    MD_PROPTYPE_ADDRESS_STATE_OR_PROVINCE                 0x0045
  303. #define    MD_PROPTYPE_ADDRESS_ZIP                                0x0046
  304. #define    MD_PROPTYPE_ADDRESS_QUARTER                            0x0047
  305. #define    MD_PROPTYPE_ADDRESS_COUNTRY                            0x0048
  306. #define    MD_PROPTYPE_ADDRESS_BUILDING                        0x0049
  307. #define    MD_PROPTYPE_ADDRESS_ROOM                            0x004A
  308. #define    MD_PROPTYPE_ADDRESS_FLOOR                            0x004B
  309. #define    MD_PROPTYPE_ADDRESS_FAX                                0x004C
  310. #define    MD_PROPTYPE_ADDRESS_PHONE                            0x004D
  311. #define    MD_PROPTYPE_GEO_CENTROID_X                            0x0061
  312. #define    MD_PROPTYPE_GEO_CENTROID_Y                            0x0062
  313. #define    MD_PROPTYPE_GEO_CENTROID_Z                            0x0063
  314. #define    MD_PROPTYPE_GEO_BOUNDARY_TOP                        0x0064
  315. #define    MD_PROPTYPE_GEO_BOUNDARY_LEFT                        0x0065
  316. #define    MD_PROPTYPE_GEO_BOUNDARY_BOTTOM                        0x0066
  317. #define    MD_PROPTYPE_GEO_BOUNDARY_RIGHT                        0x0067
  318. #define    MD_PROPTYPE_GEO_BOUNDARY_FRONT                        0x0068
  319. #define    MD_PROPTYPE_GEO_BOUNDARY_REAR                        0x0069
  320. #define    MD_PROPTYPE_GEO_BOUNDARY_POLYGON                    0x006A
  321. #define    MD_PROPTYPE_PHYSICAL_SIZE                            0x0071
  322. #define    MD_PROPTYPE_PHYSICAL_COLOR                            0x0072
  323. #define    MD_PROPTYPE_PHYSICAL_WEIGHT                            0x0073
  324. #define    MD_PROPTYPE_PHYSICAL_HEIGHT                            0x0074
  325. #define    MD_PROPTYPE_PHYSICAL_WIDTH                            0x0075
  326. #define    MD_PROPTYPE_PHYSICAL_DEPTH                            0x0076
  327. #define    MD_PROPTYPE_PHYSICAL_VOLUME                            0x0077
  328. #define    MD_PROPTYPE_PHYSICAL_DENSITY                        0x0078
  329. #define    MD_PROPTYPE_PERSON_FULL_NAME                        0x0082
  330. #define    MD_PROPTYPE_PERSON_FIRST_NAME                        0x0083
  331. #define    MD_PROPTYPE_PERSON_LAST_NAME                        0x0084
  332. #define    MD_PROPTYPE_PERSON_MIDDLE_NAME                        0x0085
  333. #define    MD_PROPTYPE_PERSON_DEMOGRAPHIC                        0x0086
  334. #define    MD_PROPTYPE_PERSON_CONTACT                            0x0087
  335. #define    MD_PROPTYPE_QTY_RANGE_LOW                            0x0091
  336. #define    MD_PROPTYPE_QTY_RANGE_HIGH                            0x0092
  337. #define    MD_PROPTYPE_FORMATTING_COLOR                        0x00A1
  338. #define    MD_PROPTYPE_FORMATTING_ORDER                        0x00A2
  339. #define    MD_PROPTYPE_FORMATTING_FONT                            0x00A3
  340. #define    MD_PROPTYPE_FORMATTING_FONT_EFFECTS                    0x00A4
  341. #define    MD_PROPTYPE_FORMATTING_FONT_SIZE                    0x00A5
  342. #define    MD_PROPTYPE_FORMATTING_SUB_TOTAL                    0x00A1
  343. #define    MD_PROPTYPE_DATE                                    0x00B1
  344. #define    MD_PROPTYPE_DATE_START                                0x00B2
  345. #define    MD_PROPTYPE_DATE_ENDED                                0x00B3
  346. #define    MD_PROPTYPE_DATE_CANCELED                            0x00B4
  347. #define    MD_PROPTYPE_DATE_MODIFIED                            0x00B5
  348. #define    MD_PROPTYPE_DATE_DURATION                            0x00B6
  349. #define    MD_PROPTYPE_VERSION                                    0x00C1
  350.  
  351. //Note: The following items may be migrated to oledb.h in a future release
  352. #define MD_SECURITY_ENABLE_DRILLTHROUGH                        0x0001
  353. #define MD_SECURITY_ENABLE_WRITEBACK                        0x0002
  354.  
  355. //Note: The following items may be migrated to oledb.h in a future release
  356. #define    MDACTION_COORDINATE_CUBE                            0x00000001
  357. #define    MDACTION_COORDINATE_DIMENSION                        0x00000002
  358. #define    MDACTION_COORDINATE_LEVEL                            0x00000003
  359. #define    MDACTION_COORDINATE_MEMBER                            0x00000004
  360. #define    MDACTION_COORDINATE_SET                                0x00000005
  361. #define    MDACTION_COORDINATE_CELL                            0x00000006
  362.  
  363. #define    MDACTION_TYPE_ALL                                    0x00000000
  364. #define    MDACTION_TYPE_URL                                    0x00000001
  365. #define    MDACTION_TYPE_HTML                                    0x00000002
  366. #define    MDACTION_TYPE_STATEMENT                                0x00000004
  367. #define    MDACTION_TYPE_DATASET                                0x00000008
  368. #define    MDACTION_TYPE_ROWSET                                0x00000010
  369. #define    MDACTION_TYPE_COMMANDLINE                            0x00000020
  370. #define    MDACTION_TYPE_PROPRIETARY                            0x00000040
  371. #define    MDACTION_TYPE_REPORT                                0x00000080
  372. #define    MDACTION_TYPE_DRILLTHROUGH                            0x00000100
  373.  
  374. #define MDDATA_TYPE_ALL                                        0x00000000
  375. #define MDDATA_TYPE_VARIANT                                    0x00000001
  376. #define MDDATA_TYPE_WSTRING                                    0x00000002
  377.  
  378. #define    MDACTION_INVOCATION_ALL                                0x00000000
  379. #define    MDACTION_INVOCATION_INTERACTIVE                        0x00000001
  380. #define    MDACTION_INVOCATION_ON_OPEN                            0x00000002
  381. #define    MDACTION_INVOCATION_BATCH                            0x00000004
  382.  
  383. #define MDLEVELS_CUSTOM_ROLLUP_EXPRESSION                    0x00000001
  384. #define MDLEVELS_CUSTOM_ROLLUP_COLUMN                        0x00000002 
  385. #define    MDLEVELS_SKIPPED_LEVELS                                0x00000004
  386. #define    MDLEVELS_CUSTOM_MEMBER_PROPERTIES                    0x00000008
  387. #define    MDLEVELS_UNARY_OPERATOR                                0x00000010
  388.  
  389. #define MDLEVELS_MEMBER_KEY_UNIQUE                            0x00000001
  390. #define MDLEVELS_MEMBER_NAME_UNIQUE                            0x00000002
  391.  
  392. #define MDPROP_SYSTEM                                        0x00000004
  393. #define MDPROP_BLOB                                            0x00000008
  394.  
  395. #define MDDIMENSIONS_MEMBER_KEY_UNIQUE                        0x00000001
  396. #define MDDIMENSIONS_MEMBER_NAME_UNIQUE                        0x00000002
  397.  
  398. #define MDLEVELS_HIDEMEMBERIF_NO_HOLES                        0x00000000    // no holes on this level
  399. #define MDLEVELS_HIDEMEMBERIF_ONLY_CHILD_AND_BLANK_NAME        0x00000001    // hole is determined if the vertex has an empty name and singleton
  400. #define MDLEVELS_HIDEMEMBERIF_ONLY_CHILD_AND_PARENT_NAME    0x00000002    // hole is determined if the vertex has a name same as the parent and singleton
  401. #define MDLEVELS_HIDEMEMBERIF_BLANK_NAME                    0x00000003    // hole is determined if the vertex has an empty name
  402. #define MDLEVELS_HIDEMEMBERIF_PARENT_NAME                    0x00000004,    // hole is determined if the vertex has a name same as the parent
  403.  
  404. //Note: The following items may be migrated to oledb.h in a future release
  405. //              should be 10 and we should use that one instead of this one
  406. //              everywhere in the code
  407. #define CRESTRICTIONS_MDSCHEMA_PROPERTIES_7x                10
  408.  
  409. // Measure type distinct count
  410. //Note: The following items may be migrated to oledb.h in a future release
  411. #define MDMEASURE_AGGR_DST                                    0x08
  412.  
  413. // Measures types for semiadditive measures.
  414. //Note: The following items may be migrated to oledb.h in a future release
  415. #define MDMEASURE_AGGR_NONE                                 0x09
  416. #define MDMEASURE_AGGR_AVGCHILDREN                          0x0A
  417. #define MDMEASURE_AGGR_FIRSTCHILD                           0x0B
  418. #define MDMEASURE_AGGR_LASTCHILD                            0x0C
  419. #define MDMEASURE_AGGR_FIRSTNONEMPTY                        0x0D
  420. #define MDMEASURE_AGGR_LASTNONEMPTY                         0x0E
  421. #define MDMEASURE_AGGR_BYACCOUNT                            0x0F
  422.  
  423. //Note: The following items may be migrated to oledb.h in a future release
  424. enum DBPROPENUM27
  425. {
  426.     DBPROP_PROVIDEROLEDBOLAPVER            =    0x101L,
  427.     DBPROP_DATASOURCE_CONNECTION_TYPE    =    0x102L
  428. };
  429.  
  430. #define DBPROPVAL_MDX_DCT_SERVER 0x0001
  431. #define DBPROPVAL_MDX_DCT_LOCAL     0x0002
  432. #define DBPROPVAL_MDX_DCT_HTTP      0x0004
  433.  
  434. #define MD_STRUCTURE_FULLYBALANCED        0x0000
  435. #define MD_STRUCTURE_RAGGEDBALANCED        0x0001
  436. #define MD_STRUCTURE_UNBALANCED            0x0002
  437. #define MD_STRUCTURE_NETWORK            0x0003
  438.  
  439. #define MDSET_SCOPE_GLOBAL                0x00001
  440. #define MDSET_SCOPE_SESSION                0x00002
  441.  
  442. #define DBPROP_VISUALMODE                (DBPROP_SESS_AUTOCOMMITISOLEVELS  + 1)
  443.  
  444. //property values for UPDATE cell property
  445. #define MD_MASK_ENABLED                                        0x00000000
  446. #define MD_MASK_NOT_ENABLED                                    0x10000000
  447.  
  448. #define DBPROP_CELL_UPDATE_ENABLED                            MD_MASK_ENABLED        | 0x00000001 // can update
  449. #define DBPROP_CELL_UPDATE_ENABLED_WITH_UPDATE                MD_MASK_ENABLED        | 0x00000002 // can update using UPDATE function
  450. #define DBPROP_CELL_UPDATE_NOT_ENABLED_FORMULA                MD_MASK_NOT_ENABLED | 0x00000001 // cannot update formula
  451. #define DBPROP_CELL_UPDATE_NOT_ENABLED_NONSUM_MEASURE        MD_MASK_NOT_ENABLED | 0x00000002 // cannot update non-sum type measure
  452. #define DBPROP_CELL_UPDATE_NOT_ENABLED_NACELL_VIRTUALCUBE    MD_MASK_NOT_ENABLED | 0x00000003 // cannot update N/A cell in virtual cube
  453. #define DBPROP_CELL_UPDATE_NOT_ENABLED_UPDATETONULL            MD_MASK_NOT_ENABLED | 0x00000004 // cannot store a NULL in a non NULL cell
  454. #define DBPROP_CELL_UPDATE_NOT_ENABLED_SECURE                MD_MASK_NOT_ENABLED | 0x00000005 // cannot update because cell is secured
  455. #define DBPROP_CELL_UPDATE_NOT_ENABLED_CALCLEVEL            MD_MASK_NOT_ENABLED | 0x00000006 // cannot update for calculated level
  456. #define DBPROP_CELL_UPDATE_NOT_ENABLED_CANNOTUPDATE            MD_MASK_NOT_ENABLED | 0x00000007 // cannot update for internal reason
  457. #define DBPROP_CELL_UPDATE_NOT_ENABLED_INVALIDDIMENSIONTYPE    MD_MASK_NOT_ENABLED | 0x00000009 // cannot update if special dimensions (ref, MM, DM) non trivial coordinates
  458.  
  459. extern const OLEDBDECLSPEC GUID MDGUID_DM  = {0x62c58fed,0xcca5,0x44f1,{0x83, 0xb6, 0x7b, 0x45, 0x68, 0x2b, 0x39, 0x04}};
  460.  
  461. //
  462. // Begin added in Analysis Services 2005
  463. //
  464.  
  465. // Enum values for <object>_ORIGIN
  466. #define MD_ORIGIN_USER_DEFINED                            0x00000001
  467. #define MD_ORIGIN_ATTRIBUTE                                0x00000002
  468. #define MD_ORIGIN_KEY_ATTRIBUTE                            0x00000004
  469. #define MD_ORIGIN_INTERNAL                                0x00000008
  470.  
  471. // Enum values for INSTANCE_SELECTION
  472. #define MD_INSTANCE_SELECTION_NONE                        0x00000000
  473. #define MD_INSTANCE_SELECTION_DROPDOWN                    0x00000001
  474. #define MD_INSTANCE_SELECTION_LIST                        0x00000002
  475. #define MD_INSTANCE_SELECTION_FILTEREDLIST                0x00000003
  476. #define MD_INSTANCE_SELECTION_MANDATORYFILTER            0x00000004                    
  477.  
  478. // Enum values for GROUPING_BEHAVIOR
  479. #define    MD_GROUPING_BEHAVIOR_ENCOURAGE                    0x00000001
  480. #define    MD_GROUPING_BEHAVIOR_DISCOURAGE                    0x00000002
  481.  
  482. // Enum values for CUBE_SOURCE property
  483. #define    MD_CUBE_SOURCE_CUBE                0x0001
  484. #define    MD_CUBE_SOURCE_DIMENSION        0x0002
  485.  
  486. //
  487. // End added in Analysis Services 2005
  488. //
  489.  
  490. //////////////////////////////////////////////////////////////////////////
  491. // Begin: Interface  and related structure definitions for IMDDatasetInfo
  492. //////////////////////////////////////////////////////////////////////////
  493.  
  494. typedef struct tagMDAXISINFOEX
  495.     {
  496.     DBLENGTH cbSize;
  497.     DBCOUNTITEM iAxis;
  498.     DBCOUNTITEM cHierarchies;
  499.     LPOLESTR *rgpwszHierarchyNames;
  500.     }     MDAXISINFOEX;
  501.  
  502. typedef struct tagMDCUBEINFO
  503.     {
  504.     DBLENGTH cbSize;
  505.     DBCOUNTITEM iCube;
  506.     LPOLESTR wszCubeName;
  507.     DATE LastDataUpdate;
  508.     DATE LastSchemaUpdate;
  509.     }     MDCUBEINFO;
  510.  
  511.  
  512.  
  513. extern RPC_IF_HANDLE __MIDL_itf_pxoprovider_0000_v0_0_c_ifspec;
  514. extern RPC_IF_HANDLE __MIDL_itf_pxoprovider_0000_v0_0_s_ifspec;
  515.  
  516. #ifndef __IMDDatasetInfo_INTERFACE_DEFINED__
  517. #define __IMDDatasetInfo_INTERFACE_DEFINED__
  518.  
  519. /* interface IMDDatasetInfo */
  520. /* [unique][uuid][object][local] */ 
  521.  
  522.  
  523. EXTERN_C const IID IID_IMDDatasetInfo;
  524.  
  525. #if defined(__cplusplus) && !defined(CINTERFACE)
  526.     
  527.     MIDL_INTERFACE("a07ccd16-8148-11d0-87bb-00c04fc33942")
  528.     IMDDatasetInfo : public IUnknown
  529.     {
  530.     public:
  531.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FreeAxisInfo( 
  532.             DBCOUNTITEM cAxes,
  533.             MDAXISINFOEX *rgAxisInfo) = 0;
  534.         
  535.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetAxisInfo( 
  536.             DBCOUNTITEM *pcAxes,
  537.             MDAXISINFOEX **prgAxisInfo) = 0;
  538.         
  539.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE FreeCubeInfo( 
  540.             DBCOUNTITEM cCubes,
  541.             MDCUBEINFO *rgCubeInfo) = 0;
  542.         
  543.         virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE GetCubeInfo( 
  544.             DBCOUNTITEM *pcCubes,
  545.             MDCUBEINFO **prgCubeInfo) = 0;
  546.         
  547.     };
  548.     
  549. #else     /* C style interface */
  550.  
  551.     typedef struct IMDDatasetInfoVtbl
  552.     {
  553.         BEGIN_INTERFACE
  554.         
  555.         HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
  556.             IMDDatasetInfo * This,
  557.             /* [in] */ REFIID riid,
  558.             /* [iid_is][out] */ void **ppvObject);
  559.         
  560.         ULONG ( STDMETHODCALLTYPE *AddRef )( 
  561.             IMDDatasetInfo * This);
  562.         
  563.         ULONG ( STDMETHODCALLTYPE *Release )( 
  564.             IMDDatasetInfo * This);
  565.         
  566.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FreeAxisInfo )( 
  567.             IMDDatasetInfo * This,
  568.             DBCOUNTITEM cAxes,
  569.             MDAXISINFOEX *rgAxisInfo);
  570.         
  571.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetAxisInfo )( 
  572.             IMDDatasetInfo * This,
  573.             DBCOUNTITEM *pcAxes,
  574.             MDAXISINFOEX **prgAxisInfo);
  575.         
  576.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *FreeCubeInfo )( 
  577.             IMDDatasetInfo * This,
  578.             DBCOUNTITEM cCubes,
  579.             MDCUBEINFO *rgCubeInfo);
  580.         
  581.         /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *GetCubeInfo )( 
  582.             IMDDatasetInfo * This,
  583.             DBCOUNTITEM *pcCubes,
  584.             MDCUBEINFO **prgCubeInfo);
  585.         
  586.         END_INTERFACE
  587.     } IMDDatasetInfoVtbl;
  588.  
  589.     interface IMDDatasetInfo
  590.     {
  591.         CONST_VTBL struct IMDDatasetInfoVtbl *lpVtbl;
  592.     };
  593.  
  594.     
  595.  
  596. #ifdef COBJMACROS
  597.  
  598.  
  599. #define IMDDatasetInfo_QueryInterface(This,riid,ppvObject)    \
  600.     ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 
  601.  
  602. #define IMDDatasetInfo_AddRef(This)    \
  603.     ( (This)->lpVtbl -> AddRef(This) ) 
  604.  
  605. #define IMDDatasetInfo_Release(This)    \
  606.     ( (This)->lpVtbl -> Release(This) ) 
  607.  
  608.  
  609. #define IMDDatasetInfo_FreeAxisInfo(This,cAxes,rgAxisInfo)    \
  610.     ( (This)->lpVtbl -> FreeAxisInfo(This,cAxes,rgAxisInfo) ) 
  611.  
  612. #define IMDDatasetInfo_GetAxisInfo(This,pcAxes,prgAxisInfo)    \
  613.     ( (This)->lpVtbl -> GetAxisInfo(This,pcAxes,prgAxisInfo) ) 
  614.  
  615. #define IMDDatasetInfo_FreeCubeInfo(This,cCubes,rgCubeInfo)    \
  616.     ( (This)->lpVtbl -> FreeCubeInfo(This,cCubes,rgCubeInfo) ) 
  617.  
  618. #define IMDDatasetInfo_GetCubeInfo(This,pcCubes,prgCubeInfo)    \
  619.     ( (This)->lpVtbl -> GetCubeInfo(This,pcCubes,prgCubeInfo) ) 
  620.  
  621. #endif /* COBJMACROS */
  622.  
  623.  
  624. #endif     /* C style interface */
  625.  
  626.  
  627.  
  628. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMDDatasetInfo_FreeAxisInfo_Proxy( 
  629.     IMDDatasetInfo * This,
  630.     DBCOUNTITEM cAxes,
  631.     MDAXISINFOEX *rgAxisInfo);
  632.  
  633.  
  634. void __RPC_STUB IMDDatasetInfo_FreeAxisInfo_Stub(
  635.     IRpcStubBuffer *This,
  636.     IRpcChannelBuffer *_pRpcChannelBuffer,
  637.     PRPC_MESSAGE _pRpcMessage,
  638.     DWORD *_pdwStubPhase);
  639.  
  640.  
  641. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMDDatasetInfo_GetAxisInfo_Proxy( 
  642.     IMDDatasetInfo * This,
  643.     DBCOUNTITEM *pcAxes,
  644.     MDAXISINFOEX **prgAxisInfo);
  645.  
  646.  
  647. void __RPC_STUB IMDDatasetInfo_GetAxisInfo_Stub(
  648.     IRpcStubBuffer *This,
  649.     IRpcChannelBuffer *_pRpcChannelBuffer,
  650.     PRPC_MESSAGE _pRpcMessage,
  651.     DWORD *_pdwStubPhase);
  652.  
  653.  
  654. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMDDatasetInfo_FreeCubeInfo_Proxy( 
  655.     IMDDatasetInfo * This,
  656.     DBCOUNTITEM cCubes,
  657.     MDCUBEINFO *rgCubeInfo);
  658.  
  659.  
  660. void __RPC_STUB IMDDatasetInfo_FreeCubeInfo_Stub(
  661.     IRpcStubBuffer *This,
  662.     IRpcChannelBuffer *_pRpcChannelBuffer,
  663.     PRPC_MESSAGE _pRpcMessage,
  664.     DWORD *_pdwStubPhase);
  665.  
  666.  
  667. /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE IMDDatasetInfo_GetCubeInfo_Proxy( 
  668.     IMDDatasetInfo * This,
  669.     DBCOUNTITEM *pcCubes,
  670.     MDCUBEINFO **prgCubeInfo);
  671.  
  672.  
  673. void __RPC_STUB IMDDatasetInfo_GetCubeInfo_Stub(
  674.     IRpcStubBuffer *This,
  675.     IRpcChannelBuffer *_pRpcChannelBuffer,
  676.     PRPC_MESSAGE _pRpcMessage,
  677.     DWORD *_pdwStubPhase);
  678.  
  679. #endif     /* __IMDDatasetInfo_INTERFACE_DEFINED__ */
  680.  
  681. DEFINE_GUID(IID_IMDDatasetInfo,      0xa07ccd16,  0x8148, 0x11d0, 0x87, 0xbb, 0x00, 0xc0, 0x4f, 0xc3, 0x39, 0x42 );
  682.  
  683. //////////////////////////////////////////////////////////////////////////
  684. // END: Interface  and related structure definitions for IMDDatasetInfo
  685. //////////////////////////////////////////////////////////////////////////
  686.  
  687. #endif    // __msmd_h__
  688.