none
c#调用c语言方法参数传递问题? RRS feed

  • 问题

  • struct DevInfoStru {
        UCHAR bd_addr[BDLENGTH];
        UCHAR name[MAX_NAME_LEN];
        UCHAR cls[DEVCLSLENGTH];
    };

    c语言中这样的方法UCHAR BtSearchDevAround(DWORD *size, struct DevInfoStru *dev_buf);
    在C#中调用怎样传递参数,c#对应什么类型

    2009年4月8日 2:47

答案

全部回复

  • 2009年4月8日 4:43
    版主
  • 能不能给举个例子,UCHAR BtSearchDevAround(DWORD *size, struct DevInfoStru *dev_buf);
    里面的参数是结构类型的,我不知道在c#中怎么搞?
    2009年4月8日 5:37
  • 检测到 FatalExecutionEngineError
    Message: 运行库遇到了错误。此错误的地址为 0x79ef06e6,在线程 0x1a98 上。错误代码为 0xc0000005。此错误可能是 CLR 中的 bug,或者是用户代码的不安全部分或不可验证部分中的 bug。此 bug 的常见来源包括用户对 COM-interop 或 PInvoke 的封送处理错误,这些错误可能会损坏堆栈,这是什么错误?
    2009年4月8日 6:07
  • 楼主,你好
    C#默认是安全代码,需要使用不安全代码需要在编译器中设置,同时,如果需要以指针作为参数调用方法,需要使用不安全代码,
    方法是加入unsafe关键字。

    具体使用方法请参考
    http://msdn.microsoft.com/zh-cn/library/chfa2zb8.aspx
    jon.valett@gmail.com
    2009年4月10日 2:25
    版主