VC++.NET调用非托管c++(vc6.0)写的dll的声明问题
现有vc6.0编写的控制视频服务器的dll,需要在vc++.net中托管调用来重新写个视频控件,但遇到dll声明的问题,请求帮助
现有的dll文件相关的文件为:ClientAPI.dll,ClientAPI.h,ClienAPI.lib,其中在clientAPI.h(部分):
typedef struct
{
BYTE bRemoteChannel; //通道号
BYTE bCnctMode; //联接模式
char *UserName; //用户名
char *UserPassword; //用户口令
BOOL bUserCheck;
HWND hShowVideo;
char *IPAddress; //服务端的IP
WORD wServerPort;
}CLIENT_VIDEOINFO,*PCLIENT_VIDEOINFO;
#ifndef CLIENT_API
#define CLIENT_API __declspec(dllexport)
#endif
CLIENT_API LONG __stdcall JP_ClientStart(PCLIENT_VIDEOINFO pClientinfo,void *pContext,void(CALLBACK *ReadDataCallBack)(LONG StockHandle,void *pContext,DWORD nPort,BYTE *pPacketBuffer,DWORD nPacketSize));
void CALLBACK ReadDataCallBack(LONG StockHandle,void *pContext,DWORD nPort,BYTE*pPacketBuffer,DWORD nPacketSize);
我在托管c++中该如何声明引用这个dll,好象要涉及到回调函数的问题.谢谢大虾
现有的dll文件相关的文件为:ClientAPI.dll,ClientAPI.h,ClienAPI.lib,其中在clientAPI.h(部分):
typedef struct
{
BYTE bRemoteChannel; //通道号
BYTE bCnctMode; //联接模式
char *UserName; //用户名
char *UserPassword; //用户口令
BOOL bUserCheck;
HWND hShowVideo;
char *IPAddress; //服务端的IP
WORD wServerPort;
}CLIENT_VIDEOINFO,*PCLIENT_VIDEOINFO;
#ifndef CLIENT_API
#define CLIENT_API __declspec(dllexport)
#endif
CLIENT_API LONG __stdcall JP_ClientStart(PCLIENT_VIDEOINFO pClientinfo,void *pContext,void(CALLBACK *ReadDataCallBack)(LONG StockHandle,void *pContext,DWORD nPort,BYTE *pPacketBuffer,DWORD nPacketSize));
void CALLBACK ReadDataCallBack(LONG StockHandle,void *pContext,DWORD nPort,BYTE*pPacketBuffer,DWORD nPacketSize);
我在托管c++中该如何声明引用这个dll,好象要涉及到回调函数的问题.谢谢大虾
...全文


