MDXプロバイダの宣言

型宣言は次のとおりです:

      typedef void *ESS_MDX_QRYHDL_T;                /* MDX query handle */
typedef unsigned long ESS_MDX_MEMBERIDTYPE_T;  /* MDX mbr id type */
typedef void *ESS_MDX_AXISHDL_T;               /* MDX axis handle */
typedef void *ESS_MDX_DIMHDL_T;                /* MDX dim handle */
typedef unsigned long ESS_MDX_PROPTYPE_T;      /* MDX property type */
typedef void *ESS_MDX_PROPHDL_T;               /* MDX property handle */
typedef void *ESS_MDX_CLUSTERHDL_T;            /* MDX cluster handle */
typedef void *ESS_MDX_MBRHDL_T;                /* MDX mbr handle */
typedef void *ESS_MDX_CELLHDL_T;               /* MDX cell handle */
typedef unsigned long ESS_MDX_CELLSTATUS_T;    /* MDX cell status */
   

定数宣言は次のとおりです:

      /* MDX member identifier types (ESS_MDX_MEMBERIDTYPE_T) */
#define ESS_MDX_MEMBERIDTYPE_NAME            8
#define ESS_MDX_MEMBERIDTYPE_ALIAS          16

/* MDX property value types (ESS_MDX_PROPTYPE_T) */
#define ESS_MDX_PROPTYPE_BOOL                ESS_DT_BOOL
#define ESS_MDX_PROPTYPE_DOUBLE              ESS_DT_DOUBLE
#define ESS_MDX_PROPTYPE_DATETIME            ESS_DT_DATETIME
#define ESS_MDX_PROPTYPE_STRING              ESS_DT_STRING
#define ESS_MDX_PROPTYPE_ULONG               ESS_DT_ULONG
#define ESS_MDX_PROPTYPE_NONE                0

/* MDX cell status bitmasks (ESS_MDX_CELLSTATUS_T) */
#define ESS_MDX_CELLSTATUS_LINKEDOBJS        0x00000001
#define ESS_MDX_CELLSTATUS_DYNCALC           0x00000002
#define ESS_MDX_CELLSTATUS_CALCEDMBR         0x00000004
#define ESS_MDX_CELLSTATUS_READONLY          0x00000008

/* MDX cell property bitmasks (ESS_MDX_CELLPROP_T) */
#define ESS_MDX_CELLPROP_GLDRILLTHRU         0x00000008
   

ESS_MDX_PROPVALUE_T

      typedef struct ess_mdx_propvalue_t
{
   ESS_MDX_PROPTYPE_T ulPropType;   /* ESS_MDX_PROPTYPE_XXXX */
   union
   {
      ESS_BOOL_T bData;       /* Boolean value */
      ESS_ULONG_T ulData;     /* Ulong value */
      ESS_STR_T strData;      /* String value */
      ESS_DATETIME_T dtData;  /* Datetime value */
      ESS_DOUBLE_T dblData;   /* Double value */
   } value;
} ESS_MDX_PROPVALUE_T;
   

ESS_MDX_CELLVALUE_T

      typedef struct mdxcellvalue
{
  ESS_DOUBLE_T       dblVal;
  ESS_STR_T          fmtVal;
  ESS_STR_T          fmtStr;
  ESS_USHORT_T       smId;
  ESS_USHORT_T       type;
  ESS_ULONG_T        flags;     // captures drill through property.
} ESS_MDX_CELLVALUE_T;