【问题标题】:Serial port communication in VC++VC++中的串口通信
【发布时间】:2010-09-27 16:08:39
【问题描述】:

通过串口读取数据时

VARIANT data;
BSTR k;
if(m_mscom.GetCommEvent() == 2)
{
    data = m_mscom.GetInput();      
    k = data.bstrVal;
    }

什么是BSTR k;k=data.bstrVal 是什么意思?什么是bstrVal

【问题讨论】:

    标签: visual-c++ com types serial-port


    【解决方案1】:

    BSTR 是指向 unicode 字符的指针(只是可以保存 unicode 字符的字符类型)。 data.bstrVal 将变体转换为 BSTR。

    【讨论】:

      【解决方案2】:

      BSTRVARIANT 是 COM 中使用的数据类型。实际上,VARIANT 是一个可以容纳任何 COM 数据类型的容器。

      在您的情况下,GetInput() 返回包含缓冲区作为 BSTR 的 VARIANT,因此必须使用 bstrVal 来检索它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-26
        • 2018-04-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多