yeqing880 发表于 2011-9-25 20:50:57

请教一个关于DLLCALL的问题

本帖最后由 yeqing880 于 2011-9-25 20:52 编辑

我有一个DLL文件

函数说明为:

(2) LOGININFOLogin(   char*serverIp,
int    port,
char*user,
char*psw
);

Description:登录服务器
Return:    函数调用成功,返回值中包含服务器相关信息,调用失败,返回值
中各成员值为0
Parameter Explain:
serverIp//服务器IP地址
port   //指定连接的服务器端口号
user   //用户名
pwd   //登录密码

目前已知这个DLL的返回值是一个 struct

请问返回值的类型该怎么填?
$dll=DllOpen ( "test.dll" )
$aResult = DllCall($dll, ???,"Login","str","192.168.1.1","int","9000","str","admin","str","admin")
???部分该填写"ptr"吗?

以下是数据结构 :

typedef struct _LOGININFO
{
int          nIndex;
int          nChannel;      
char    szLocation;
char    ip;      
}LOGININFO, *PLOGININFO;

zsken 发表于 2011-9-26 09:09:05

本帖最后由 zsken 于 2011-9-27 18:00 编辑

返回类型可以是ptr

$dll=DllOpen ( "test.dll" )
$aResult = DllCall($dll, "BOOL","WAPA_DVR_Init")
$aResult = DllCall($dll, "ptr","WAPA_DVR_Login","str","192.168.1.1","int","9000","str","admin","str","admin")
$tLoginInfo = DllStructCreate("align 1;int nIndex;int nChannel;CHARszLocation["&32*36&"];CHAR ip", Ptr($aResult))

yeqing880 发表于 2011-9-26 16:54:58

本帖最后由 yeqing880 于 2011-9-26 18:38 编辑

好像不行。。。。

我上传DLL 和说明文档 麻烦帮我看下好吗?

zsken 发表于 2011-9-27 08:18:52

本帖最后由 zsken 于 2011-9-27 08:23 编辑

文档我看了,首先在调用之前要先初始化一下WAPA_DVR_Init,另外调用WAPA_DVR_Login可能需要安装客户端软件,我这里没法调试。如果有客户端软件或运行环境之类的也贴上来,这样方便解决问题。



2楼回复我已经修改过了,请再试一下。

yeqing880 发表于 2011-9-27 11:22:33

客户端就包括这个dll

yeqing880 发表于 2011-9-27 11:23:56

我加不了你
页: [1]
查看完整版本: 请教一个关于DLLCALL的问题