variant类型

来源:互联网 发布:2016年 网络热门话题 编辑:程序博客网 时间:2024/06/06 13:25
typedef struct tagVARIANT   {      VARTYPE vt;                             //存储数据类型      unsigned short wReserved1;      unsigned short wReserved2;      unsigned short wReserved3;      union       {          Byte bVal;                          // VT_UI1.          Short iVal;                         // VT_I2.          long lVal;                          // VT_I4.          float fltVal;                       // VT_R4.          double dblVal;                      // VT_R8.          VARIANT_BOOL boolVal;               // VT_BOOL.          SCODE scode;                        // VT_ERROR.          CY cyVal;                           // VT_CY.          DATE date;                          // VT_DATE.          BSTR bstrVal;                       // VT_BSTR.          DECIMAL FAR* pdecVal                // VT_BYREF|VT_DECIMAL.          IUnknown FAR* punkVal;              // VT_UNKNOWN.          IDispatch FAR* pdispVal;            // VT_DISPATCH.          SAFEARRAY FAR* parray;              // VT_ARRAY|*.          Byte FAR* pbVal;                    // VT_BYREF|VT_UI1.          short FAR* piVal;                   // VT_BYREF|VT_I2.          long FAR* plVal;                    // VT_BYREF|VT_I4.          float FAR* pfltVal;                 // VT_BYREF|VT_R4.          double FAR* pdblVal;                // VT_BYREF|VT_R8.          VARIANT_BOOL FAR* pboolVal;         // VT_BYREF|VT_BOOL.          SCODE FAR* pscode;                  // VT_BYREF|VT_ERROR.          CY FAR* pcyVal;                     // VT_BYREF|VT_CY.          DATE FAR* pdate;                    // VT_BYREF|VT_DATE.          BSTR FAR* pbstrVal;                 // VT_BYREF|VT_BSTR.          IUnknown FAR* FAR* ppunkVal;        // VT_BYREF|VT_UNKNOWN.          IDispatch FAR* FAR* ppdispVal;      // VT_BYREF|VT_DISPATCH.          SAFEARRAY FAR* FAR* pparray;        // VT_ARRAY|*.          VARIANT FAR* pvarVal;               // VT_BYREF|VT_VARIANT.          void FAR* byref;                    // Generic ByRef.          char cVal;                          // VT_I1.          unsigned short uiVal;               // VT_UI2.          unsigned long ulVal;                // VT_UI4.          int intVal;                         // VT_INT.          unsigned int uintVal;               // VT_UINT.          char FAR * pcVal;                   // VT_BYREF|VT_I1.          unsigned short FAR * puiVal;        // VT_BYREF|VT_UI2.          unsigned long FAR * pulVal;         // VT_BYREF|VT_UI4.          int FAR * pintVal;                  // VT_BYREF|VT_INT.          unsigned int FAR * puintVal;        //VT_BYREF|VT_UINT.      };  };  


需要注意VT_BOOL类型的true 值为-1。

0 0
原创粉丝点击