亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

C++ VARIANT數據類型操作詳解

2020-05-23 14:24:19
字體:
來源:轉載
供稿:網友

使用VARIANT來傳遞參數意味著非強類型語言(例如VBScript)能夠調用使用強類型語言(C++)實現的方法。
VARIANT的結構可以參考頭文件VC98/Include/OAIDL.H中關于結構體tagVARIANT的定義。

VARIANT 數據類型在文件OAIDL.IDL中定義如下:

C/C++ code復制代碼
struct tagVARIANT {    union {        struct __tagVARIANT {            VARTYPE vt;            WORD    wReserved1;            WORD    wReserved2;            WORD    wReserved3;            union {                ULONGLONG     ullVal;       /* VT_UI8               */                LONGLONG      llVal;        /* VT_I8                */                LONG          lVal;         /* VT_I4                */                BYTE          bVal;         /* VT_UI1               */                SHORT         iVal;         /* VT_I2                */                FLOAT         fltVal;       /* VT_R4                */                DOUBLE        dblVal;       /* VT_R8                */                VARIANT_BOOL  boolVal;      /* VT_BOOL              */                _VARIANT_BOOL bool;         /* (obsolete)           */                SCODE         scode;        /* VT_ERROR             */                CY            cyVal;        /* VT_CY                */                DATE          date;         /* VT_DATE              */                BSTR          bstrVal;      /* VT_BSTR              */                IUnknown *    punkVal;      /* VT_UNKNOWN           */                IDispatch *   pdispVal;     /* VT_DISPATCH          */                SAFEARRAY *   parray;       /* VT_ARRAY             */                BYTE *        pbVal;        /* VT_BYREF|VT_UI1      */                SHORT *       piVal;        /* VT_BYREF|VT_I2       */                LONG *        plVal;        /* VT_BYREF|VT_I4       */                LONGLONG *    pllVal;       /* VT_BYREF|VT_I8       */                FLOAT *       pfltVal;      /* VT_BYREF|VT_R4       */                DOUBLE *      pdblVal;      /* VT_BYREF|VT_R8       */                VARIANT_BOOL *pboolVal;     /* VT_BYREF|VT_BOOL     */                _VARIANT_BOOL *pbool;       /* (obsolete)           */                SCODE *       pscode;       /* VT_BYREF|VT_ERROR    */                CY *          pcyVal;       /* VT_BYREF|VT_CY       */                DATE *        pdate;        /* VT_BYREF|VT_DATE     */                BSTR *        pbstrVal;     /* VT_BYREF|VT_BSTR     */                IUnknown **   ppunkVal;     /* VT_BYREF|VT_UNKNOWN  */                IDispatch **  ppdispVal;    /* VT_BYREF|VT_DISPATCH */                SAFEARRAY **  pparray;      /* VT_BYREF|VT_ARRAY    */                VARIANT *     pvarVal;      /* VT_BYREF|VT_VARIANT  */                PVOID         byref;        /* Generic ByRef        */                CHAR          cVal;         /* VT_I1                */                USHORT        uiVal;        /* VT_UI2               */                ULONG         ulVal;        /* VT_UI4               */                INT           intVal;       /* VT_INT               */                UINT          uintVal;      /* VT_UINT              */                DECIMAL *     pdecVal;      /* VT_BYREF|VT_DECIMAL  */                CHAR *        pcVal;        /* VT_BYREF|VT_I1       */                USHORT *      puiVal;       /* VT_BYREF|VT_UI2      */                ULONG *       pulVal;       /* VT_BYREF|VT_UI4      */                ULONGLONG *   pullVal;      /* VT_BYREF|VT_UI8      */                INT *         pintVal;      /* VT_BYREF|VT_INT      */                UINT *        puintVal;     /* VT_BYREF|VT_UINT     */                struct __tagBRECORD {                    PVOID         pvRecord;                    IRecordInfo * pRecInfo;                } __VARIANT_NAME_4;         /* VT_RECORD            */            } __VARIANT_NAME_3;        } __VARIANT_NAME_2;        DECIMAL decVal;    } __VARIANT_NAME_1;};

VARIANT數據結構包含兩個域(如果不考慮保留的域)。vt域描述了第二個域的數據類型。為了使多種類型能夠在第二個域中出現,我們定義了一個聯合結構。所以,第二個域的名稱隨著vt域中輸入值的不同而改變。用于指定vt域值情況的常量在聯合的定義中以每一行的注釋形式給出。
使用VARIANT和VARIANTARG數據結構要分兩步完全。舉一個例子,讓我們考慮如下代碼:

long lValue = 999;VARIANT vParam;vParam.vt = VT_I4;vParam.lVal = lValue;

在第一行中指定數據類型。常量VT_I4表明在第二個域中將出現一個long型的數據。根據類型VARIANT的定義,可以得知,當一個long型數據存入VARIANT類型時,其第二個域使用的名稱是lVal。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
亚洲品质视频自拍网| 九九久久久久99精品| 国产精品视频免费观看www| 欧美成人剧情片在线观看| 国产精品久久久久久久一区探花| 国产精品三级美女白浆呻吟| 国产精品入口日韩视频大尺度| 亚洲久久久久久久久久| 日韩av电影国产| 欧美大片在线看免费观看| 中文字幕免费国产精品| 国产精品igao视频| 插插插亚洲综合网| 久久九九免费视频| 欧美又大又硬又粗bbbbb| 欧美精品一区二区免费| 欧美国产在线视频| 欧美激情综合亚洲一二区| 国产精品黄页免费高清在线观看| 精品爽片免费看久久| 欧美激情综合色综合啪啪五月| 亚洲天天在线日亚洲洲精| 日韩免费在线播放| 97国产真实伦对白精彩视频8| 国产视频久久网| 亚洲午夜久久久久久久| 成人国产在线视频| 久久久久国产一区二区三区| 国产z一区二区三区| 成人一区二区电影| 51ⅴ精品国产91久久久久久| 久久久久久久影视| 91香蕉电影院| 国产精品第10页| 成人a免费视频| 久久免费国产精品1| 欧美日韩国内自拍| 亚洲福利视频久久| 国产日产欧美a一级在线| 成人午夜激情免费视频| 日韩精品中文字幕在线| 欧美最猛性xxxxx(亚洲精品)| 色视频www在线播放国产成人| 国产精品一区二区久久| 欧美高清视频一区二区| 国产精品一区二区av影院萌芽| 北条麻妃在线一区二区| 久久91亚洲人成电影网站| 亚洲午夜av久久乱码| 精品中文字幕视频| 97婷婷大伊香蕉精品视频| 国产视频精品va久久久久久| 国产香蕉精品视频一区二区三区| 国产精品极品美女在线观看免费| 国产精品成av人在线视午夜片| 欧美性感美女h网站在线观看免费| 国模精品一区二区三区色天香| 国产精品主播视频| 国产精品久久久久久久app| 538国产精品一区二区在线| 国产精品视频专区| 午夜精品福利电影| 欧美午夜片欧美片在线观看| 91爱爱小视频k| 国产精品流白浆视频| 欧美国产精品日韩| 午夜欧美不卡精品aaaaa| 97久久精品人人澡人人爽缅北| 欧美日韩国产中文字幕| 国产精品网红福利| 久久99精品久久久久久噜噜| 亚洲欧美中文字幕| 中文字幕少妇一区二区三区| 亚洲精品日韩激情在线电影| 国产日韩中文字幕| 国产成人一区二区在线| 日韩一区二区久久久| 中国china体内裑精亚洲片| 亚洲精品国产福利| 国产视频丨精品|在线观看| 久久精品99久久香蕉国产色戒| 欧美性猛交xxxxx水多| 国产精品久久久久久超碰| 国产成人精品视频在线| 欧美高跟鞋交xxxxxhd| 欧美激情一级欧美精品| 欧美大奶子在线| 欧美理论电影在线观看| 在线色欧美三级视频| 欧美一级高清免费| 亚洲视频在线观看| 最好看的2019的中文字幕视频| 九九热这里只有精品6| 人人爽久久涩噜噜噜网站| 亚洲男人的天堂在线播放| 精品动漫一区二区| 欧美日本国产在线| 亚洲欧美福利视频| 欧美成人免费全部| 95av在线视频| 国产suv精品一区二区三区88区| 日韩美女中文字幕| 亚洲国产精品高清久久久| 亚洲天堂男人天堂女人天堂| 久久久免费高清电视剧观看| 精品亚洲国产视频| 久久久久久久久久久国产| 日本成人免费在线| 成人在线一区二区| 成人在线一区二区| 中文字幕在线观看日韩| 亚洲第一av网站| 中文日韩在线视频| 亚洲精品国产精品国自产在线| 欧美乱人伦中文字幕在线| 久久精品一偷一偷国产| 91精品国产高清久久久久久91| 久青草国产97香蕉在线视频| 亚洲欧洲一区二区三区久久| 欧美视频一二三| 久久精品国产亚洲| 欧美成人剧情片在线观看| 日韩欧美高清在线视频| 亚洲欧洲在线观看| 国产一区二区三区三区在线观看| 日韩在线高清视频| 久久精品99久久香蕉国产色戒| 亚洲精品成人免费| 亚洲精品欧美日韩专区| 91精品国产自产91精品| 国产成人一区二区在线| 国产精品69精品一区二区三区| 日韩在线视频中文字幕| 国产精品 欧美在线| 在线观看不卡av| 8090理伦午夜在线电影| 国产精品久久久久久久久免费看| 正在播放国产一区| 久精品免费视频| 久久国产精品电影| 国产精品美女网站| 成人黄色在线播放| 久久亚洲精品小早川怜子66| 国内精品一区二区三区四区| 亚洲天堂av高清| 日韩欧美精品中文字幕| 欧美另类第一页| 久热国产精品视频| 久久精彩免费视频| 黑人欧美xxxx| 成人妇女免费播放久久久| 在线视频亚洲欧美| 国产不卡视频在线| 亚洲欧美精品一区二区| 国产精品久在线观看| 欧美性猛xxx| 欧美俄罗斯性视频| 国产日韩精品入口| 中文字幕亚洲一区二区三区五十路| 欧美刺激性大交免费视频| 久久久久久久一区二区| 亚洲国产精品系列| 人人做人人澡人人爽欧美| 久久天堂av综合合色|