现在有一个DLL文件,原来函数为:
MF_Read(int DeviceAddress,unsigned char add_blk, unsigned char num_blk,  unsigned char *buffer);
1. 在用VB定义时,unsigned char *buffer 是定义成:  ByVal  buffer as string 
   还是定义成:ByRef buffer() as Byte? 
2. 在定义成ByVal  buffer as string后,  由于buffer为64个字节 ,程序中写成
   Dim  buffer  as  string * 64
   但是当使用If MF_Read(0, 0, 4, buffer) = 0 Then时  
   //  读出的buffer在转换成十六进制的数"1A 3B FC 00 FF...."时不对,问题应该
   是出在buffer内的值,能将buffer 定义成ByRef buffer() as Byte吗???
3. 如果将buffer定义成byte:
    dim  buffer(63) as  byte
  使用 If MF_Read(0, 0, 4, buffer) = 0 Then  时
    如何读到buffer值,最好是转换成"1A 3B FC 00 FF....", 或者VB有什么工具看到??