如题,希望有人能解决这个问题。

解决方案 »

  1.   

    可以用BSTR然后转换,或用GlobalAlloc?
      

  2.   

    传递指针啊
    比如你要传递一个数组unsigned char[20],你可以这样声明你的接口函数
    yourFunction(long unsigned_char_pointer),然后在函数里面将数组指针
    强制转换过来就行,然后利用指针处理数组不就行了吗,例如
    HRESULT yourFunction(long unsigned_char_pointer)
    {   unsigned char* p=reinterpret_cast<unsigned char* >(unsigned_char_pointer)
       //这样p就取得该数组的指针,下面你就可以对数组进行处理了^_^
       
      

  3.   

    HRESULT GetStr([out,string]unsigned char**puchar);
      

  4.   

    问题是这样的,我想实现 STDMETHODIMP ReadData(VARIANT Data, long *dwBuffer, int *Rst)
    在VB里调用时,Data的定义是这样的,Dim bData(0 to 5) as Byte STDMETHODIMP ReadData(VARIANT Data, long *dwBuffer, int *Rst)
      {
           ......
           unsigned char *szBuffer=NULL;
           for(int i=0;i<5;i++)
           {
               szBuffer[i]=i+10;
            }
            在这里我要把szBuffer的值通过Data这个参数传出去,但是在这里我不知道怎样处理,希                望大家啬赐教。
      }
      

  5.   

    HRESULT ReadData([out]long*psize,[out,size_is(,*psize)]unsigned char**ppdata);
    用VC会这样定义,VB?不熟悉。