首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++代码转换C#代码解决办法

2013-10-21 
c++代码转换C#代码typedef struct_BtSdkCallbackStru{unsigned short type/*type of callback*/void *fun

c++代码转换C#代码
typedef struct  _BtSdkCallbackStru
{
unsigned short type;/*type of callback*/
void *func;/*callback function*/
}BtSdkCallbackStru, *PBtSdkCallbackStru;
上面是结构体
函数调用部分如下:
BtSdkCallbackStru cb = {0};
cb.type = 0x04;
cb.func = (void*)AppInquiryInd;
Btsdk_RegisterCallback4ThirdParty(&cb);
Btsdk_RegisterCallback4ThirdParty是注册函数

回调函数AppInquiryInd如下:
void AppInquiryInd(unsigned long dev_hdl)
{
unsigned long dev_class = 0;
Btsdk_GetRemoteDeviceClass(dev_hdl, &dev_class);

if ( (s_rmt_dev_cls == 0)||(s_rmt_dev_cls == (dev_class & 0x1ffc)))
{
s_rmt_dev_hdls[s_rmt_dev_num++] = dev_hdl;
}
}

以上的代码转换成C#,该怎么处理,谢谢各位!
[解决办法]
就是注册一个回调嘛

C#对应的BtSdkCallbackStru如下。

看情况参数uint也可能是ulong.只是不知道你原来的代码对应的unsigned long是多少位的.

   public delegate void CallBackFuncType(uint);//

    [StructLayout(LayoutKind.Sequential)]
    struct BtSdkCallbackStru
    {
        ushort type;
        CallBackFuncType func;
    }

热点排行
Bad Request.