调用SafeArray传入BYTE数组到OCX为什么不成功?只有25分了,大侠救救呀!!!
以下为我的代码:
long CTESTCtrl::CvtData(const VARIANT FAR& sArray) 
{
char* buff; //unsigned char* buff;
//unsigned char m_abBinaryData[512];
if (sArray.vt == (VT_ARRAY | VT_UI1)) {
         long Dims = SafeArrayGetDim(sArray.parray);
         long UpperBounds;
         long LowerBounds;         if (Dims == 1) {
            SafeArrayGetLBound(sArray.parray, 1, &LowerBounds);
            SafeArrayGetUBound(sArray.parray, 1, &UpperBounds);
               SafeArrayAccessData (sArray.parray, (void**)&buff);
               /*for (int i = 0; i < UpperBounds; i++) {
                  m_abBinaryData[i] = buff[i];
                  buff[i] = 0;
               }*/                SafeArrayUnaccessData(sArray.parray);        
               return 1;
         }
      }
}