variant類型

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。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章