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

c# 中怎么调用这个非托管DLL

2012-04-12 
c# 中如何调用这个非托管DLL?在C++中,很容易就可以实现,现在在C#中如何实现调用?因为要做个例子给客户//ty

c# 中如何调用这个非托管DLL?
在C++中,很容易就可以实现,现在在C#中如何实现调用?因为要做个例子给客户

//
typedef void CALLBACK_FUNC;


__stdcall InitEx( CALLBACK_FUNC *pFunc)
{
...
CALLBACKInit(pFunc);
...
}

void CALLBACKInit(CALLBACK_FUNC *pFunc)
{
mGuiStateCallback = (GuiStateCallback)pFunc;
}


其中:
//
static GuiStateCallback mGuiStateCallback;

//
typedef enum GUI_STATE {
...
}GUI_STATE;

typedef enum GUI_MESSAGE {
...
}GUI_MESSAGE ;

typedef struct PVS_APIIF_DATA {
INT Length;
CHAR *Data;
} PVS_APIIF_DATA;

typedef struct GUI_BITMAP {
INT Width;
INT Height;
PVS_APIIF_DATA* BitmapData;
} PVS_APIIF_GUI_BITMAP;

typedef enum RESULT {
...
}RESULT;


typedef RESULT (*GuiStateCallback)
( GUI_STATE GuiState,
GUI_MESSAGE Message,
GUI_BITMAP * pBitmapArea);

[解决办法]
涉及到了回调函数,先看看c# 如何使用非托管回调的资料
http://msdn.microsoft.com/zh-cn/library/843s5s5x.aspx
[解决办法]
IntPtr

热点排行