问题描述
在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