收录日期:2019/01/17 21:34:49 时间:2016/05/24 10:42:41 标签:ATL/ActiveX/COM
谁能帮我解释一下VARIANT inbuf中VARIANT 是什么意思呢??
变量inbuf的类型名称
一个结构体类型,在脚本语言中所有变量都是这个类型.具体见相应头文件定义.
struct  tagVARIANT
    {
    union 
        {
        struct  __tagVARIANT
            {
            VARTYPE vt;
            WORD wReserved1;
            WORD wReserved2;
            WORD wReserved3;
            union 
                {
                LONG lVal;
                BYTE bVal;
                SHORT iVal;
                FLOAT fltVal;
                DOUBLE dblVal;
                VARIANT_BOOL boolVal;
                _VARIANT_BOOL bool;
                SCODE scode;
                CY cyVal;
                DATE date;
                BSTR bstrVal;
                IUnknown __RPC_FAR *punkVal;
                IDispatch __RPC_FAR *pdispVal;
                SAFEARRAY __RPC_FAR *parray;
                BYTE __RPC_FAR *pbVal;
                SHORT __RPC_FAR *piVal;
                LONG __RPC_FAR *plVal;
                FLOAT __RPC_FAR *pfltVal;
                DOUBLE __RPC_FAR *pdblVal;
                VARIANT_BOOL __RPC_FAR *pboolVal;
                _VARIANT_BOOL __RPC_FAR *pbool;
                SCODE __RPC_FAR *pscode;
                CY __RPC_FAR *pcyVal;
                DATE __RPC_FAR *pdate;
                BSTR __RPC_FAR *pbstrVal;
                IUnknown __RPC_FAR *__RPC_FAR *ppunkVal;
                IDispatch __RPC_FAR *__RPC_FAR *ppdispVal;
                SAFEARRAY __RPC_FAR *__RPC_FAR *pparray;
                VARIANT __RPC_FAR *pvarVal;
                PVOID byref;
                CHAR cVal;
                USHORT uiVal;
                ULONG ulVal;
                INT intVal;
                UINT uintVal;
                DECIMAL __RPC_FAR *pdecVal;
                CHAR __RPC_FAR *pcVal;
                USHORT __RPC_FAR *puiVal;
                ULONG __RPC_FAR *pulVal;
                INT __RPC_FAR *pintVal;
                UINT __RPC_FAR *puintVal;
                struct  __tagBRECORD
                    {
                    PVOID pvRecord;
                    IRecordInfo __RPC_FAR *pRecInfo;
                    } __VARIANT_NAME_4;
                } __VARIANT_NAME_3;
            } __VARIANT_NAME_2;
        DECIMAL decVal;
        } __VARIANT_NAME_1;
    };


typedef tagVARIANT VARIANT;
在COM中的返回值,并且只能作为最后一个参数,在实现的时候用ConvertBSTRToString转换

关于总线通信方面的猝发传输方式的理解? JSP页面,Tomcat无错,Weblogic报错 在线等!! 加载mhash时出错,提示未定义(百分答谢) ibatis如何连接多少个数据库? sed删除问题 求一延时方法 不占用cpu且不挂起 Java排序问题 上海英文好的 PHP工程师!!!!!!! 求助!VB编程picturebox中颜色问题! 如何获得内存名字? 使用new动态创建结构问题? File.list 列出海量文件问题 十分困惑,java的后继课程 ASP如何做多选删除?用 第一次尝试互联网创业 请问这个语句用sql怎么写 关于自动关机钩子的问题 C#的代码编译后能产生像make文件那样的文件吗? 获取网卡个数与序列号 16位32位64位128位3问题看好回答 控制台程序管道问题 jsp超链接问题 java题 压缩和解压缩 学习MFC的疑问 websphere7 hp-unix下的域名访问 受伤了,能完全康复吗? 请教手机web方面的一个问题 姐姐生了个胖大小子,散分以祝贺 C学位你发基础该干啥?