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