C语言的回调函数怎么转换成C#的委托啊?

问题描述

在p/invoke调用的时候委托和回调怎么转换啊?

解决方案

解决方案二:
这个回调函数原型是:typedeflong(CALLBACK*fnFileData)(void*object,inttype,unsignedchar*data,intdataLength);现在我要把写成C#里面的delegate类型,但是不知道unsignedchar*data该怎么写publicdelegateInt32audioRawCallback(IntPtr*callbackObject,Int32streamType,unsignedchar*data,Int32dataLength);这里的这个unsignedchar*应该用什么.NET类型?回答ateInt32audioRawCallback(IntPtrcallbackObject,Int32streamType,byte[]data,Int32dataLength);(本内容来自唯才教育网http://www.hn1c.com原文地址:http://www.hn1c.com/diannao/dn82039/)
解决方案三:
typedeflong(CALLBACK*fnFileData)(void*object,inttype,unsignedchar*data,intdataLength);这个就是C语言的回调函数么?
解决方案四:
参考:引用

用宏CALLBACK,这也就是著名的回调函数了

CALLBACK*是一个函数指针
解决方案五:
或者看一下
解决方案六:
API函数中有很多带回调函数的(别告诉我你一个也不知道)。你可以在pinvoke.net上查找它们的定义作为参考。

时间: 2024-10-29 18:35:02

C语言的回调函数怎么转换成C#的委托啊?的相关文章

c语言-C语言,把大写字母转换成小写字母的函数,请问哪里错了?

问题描述 C语言,把大写字母转换成小写字母的函数,请问哪里错了? main.c #include int main(void) { char ch; for (; (ch = getchar()) != EOF;) { tolower(ch); putchar(ch); } } tolower.c void tolower(char ch) { if (ch >= 'A'&&ch <= 'Z') ch += 32; } 解决方案 你这种该法只是改变了形参的值,没有改变实参的值,

求c语言编写的经纬高转换成XYZ的程序,只要能简单运行的程序,悬赏20个币,求帮忙

问题描述 求c语言编写的经纬高转换成XYZ的程序,只要能简单运行的程序,悬赏20个币,求帮忙 求c语言编写的经纬高转换成XYZ的程序,只要能简单运行的程序,不要复杂的界面,悬赏20个币,求帮忙.程序要求能读取存储经纬高数据的文本,转换成XYZ存成文本,给力的话可以再加币,多谢多谢! 解决方案 纬度和高度都是可以直接转换的.只有经度,经度根据纬度可以换算,公式是cos(维度)*(赤道周长/360) 解决方案二: 以地球为严格的球体来做的话,以球心画出一个参考的三围坐标系,不难得到 #include

求大神帮忙把如下DELPHI的函数,转换成C#的函数,感谢,万分感谢。

问题描述 functionUncryptStr(Src,Key:String):string;//对字符串解密(Src:源Key:密匙)varKeyLen:Integer;KeyPos:Integer;offset:Integer;dest:string;SrcPos:Integer;SrcAsc:Integer;TmpSrcAsc:Integer;beginifTrim(Src)=''thenbeginResult:='';Exit;end;KeyLen:=Length(Key);ifKeyL

C++中几种将整数转换成二进制输出的方法总结_C 语言

看<编程之美>第二节的时候,它是定义的一个整型,然后取位.但是他的那个或运算符号好像写错了,写成了异或符号"^",应该是"|".我就突然对二进制的输出感兴趣了.想知道怎样输出二进制.我们知道C++输出十六进制是cout〈〈hex〈〈 a:而八进制是cout〈〈 ocx〈〈 a;二进制则没有默认的输出格式,需要自己写函数进行转换,于是上网搜索了一下.网上思路真是广泛啊. 下面列出一些方法.  #include 〈iostream〉 #include 〈li

php中字符串转换成数组函数explode(),implode()

行看看这两个函数 implode 函数: 使用函数 implode 将数组转换为字符串 explode 函数: 使用函数 explode 将字符串转换成数组 例1. 今天在php论坛中看到以为朋友发了一个帖子请教php如何把字符串转换成数组;作为php程序员的新一第一反应是联想到explode(),implode()这两个函数.新一也是用里面的函数进行转换成数组的. con[1]=28&selt[1]=1&con[2]=29&selt[2]=4&con[3]=26&

利用Thunk让C++成员函数变回调函数

Windows API经常需要回调函数,而在C++开发中面向对象当行其道,若能让C++类的成员函数成为回调函数,简直就是大善!但是C++成员函数都隐含了一个this指针用于指向当前的对象.要实现回调确实不容易. 我大约一年前就接触到Thunk技术,甚至也看过利用Thunk实现将成员函数变成回调函数的例子.但是我实在没了解过C++汇编后的样子,很容易钻了牛角尖,看都看不懂,直接用他们的程序又不敢,毕竟出错后不好处理.前端时间偶尔想起Thunk技术,对未懂技术老这样悬着很可能影响自己的程序员生涯的,

用PHP实现自动把纯文本转换成Web页面

最近,我的一个老朋友向我打电话求助.他从事记者的职业有多年了,最近获得了重新出版他的很多早期专栏的权利.他希望把他的作品贴在Web上;但是他的专栏都是以纯文本文件的形式保存的,而且他既没有时间也不想去为了把它们转换成为Web页面而学习HTML的知识.由于我是他电话本里唯一一个精通计算机的人,所以他打电话给我看我是否能够帮帮他. "让我来处理吧,"我说:"一个小时以后再给我打电话."当然了,当他几个小时以后打电话过来,我已经为他准备好了解决的方法.这需要用到一点点PH

C++回调函数用法

一回调函数 我们经常在C++设计时通过使用回调函数可以使有些应用(如定时器事件回调处理.用回调函数记录某操作进度等)变得非常方便和符合逻辑,那么它的内在机制如何呢,怎么定义呢?它和其它函数(比如钩子函数)有何不同呢? 使用回调函数实际上就是在调用某个函数(通常是API函数)时,将自己的一个函数(这个函数为回调函数)的地址作为参数传递给那个函数. 而 那个函数在需要的时候,利用传递的地址调用回调函数,这时你可以利用这个机会在回调函数中处理消息或完成一定的操作.至于如何定义回调函数,跟具体使用的 A

用PHP自动把纯文本转换成Web页面

  最近,我的一个老朋友向我打电话求助.他从事记者的职业有多年了,最近获得了重新出版他的很多早期专栏的权利.他希望把他的作品贴在Web上;但是他的专栏都是以纯文本文件的形式保存的,而且他既没有时间也不想去为了把它们转换成为Web页面而学习HTML的知识.由于我是他电话本里唯一一个精通计算机的人,所以他打电话给我看我是否能够帮帮他. "让我来处理吧,"我说:"一个小时以后再给我打电话."当然了,当他几个小时以后打电话过来,我已经为他准备好了解决的方法.这需要用到一点点