pAppID:^BYTE;    pAppID = nil;
ePass.OpenDevice(EPAS_OPEN_FIRST, pAppID^);

解决方案 »

  1.   

    试试
    oject obj = null;
    ePass.OpenDevice(flag.EPAS_OPEN_FIRST, ref obj);
    行不行
      

  2.   

    byte = 0 不就是null了吗?
      

  3.   

    JAVA 中的
    ePass.OpenDevice(flag.EPAS_OPEN_FIRST,null);与C# 中的
    ePass.OpenDevice(flag.EPAS_OPEN_FIRST,null);是相等的你既然说在JAVA 中和VB中都没有ref,那你在C# 中为何又ref?如果一定要ref 那么byte 的null 值在旧版接口通常就是0
      

  4.   

    问题已经解决了.但是各位说的都不正确.JAVA中使用空是因为我写的JNI可以转换java的null到c的空byte指针.但是C#中的com接口一定要使用ref byte才可以所以我问如何建立一个空的byte引用.byte = 0这样的声明是不允许的.我使用byte e = 0x0;才可以运行