问:VARIANT类型,怎么获取BYTE*数据的长度?
谢了.

解决方案 »

  1.   

    BYTE*表示是个指针,有效1个byte数组的话得用SAFEARRAY
      

  2.   

    恩.BYTE* 下存储的是一组数据.
    那改怎么得到这一组的长度大小呢?
      

  3.   

    COleSafeArray::GetOneDimSize
      CByteArray byteArray;
      for(BYTE i=0; i<100; i++)
      {
        byteArray.Add(i);
      }  COleVariant oleVar(byteArray);
      COleSafeArray OleSafeArray(*oleVar);
      DWORD dwSize = OleSafeArray.GetOneDimSize();
      ASSERT(dwSize == (DWORD)byteArray.GetSize());
      

  4.   

    你的_variant_t::vt(类型是什么)?VT_BSTR还是VT_DATA