找回密码
 加入
搜索
查看: 3511|回复: 9

[AU3基础] 一个dll的调用说明。。请教大大

  [复制链接]
发表于 2010-11-21 13:26:41 | 显示全部楼层 |阅读模式
本帖最后由 yeqing880 于 2010-11-21 13:32 编辑

SDK说明是


导出函数说明
(1) bool         WAPA_DVR_Init();

Description: 相关参数的初始化
Return:     成功返回true,否则返回false


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

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

请问我该怎么调用这个函数 返回值是什么类型呢?

$dll = DllOpen("DvrDll.dll")

$d = DllCall ( $dll, "int", "WAPA_DVR_Init")

这个@error = 0 算是调用成功了。但返回值是257,和说明文档不同。说明文档上 成功返回true,否则返回false 是返回值类型不对吗

$d2 = DllCall ( $dll, "long", "WAPA_DVR_Login","char*","192.168.1.1","int","1000","char*","admin","char*","123")

这样调用对吗  我对这方面一点经验都没有。。麻烦大大帮帮我
发表于 2010-11-21 18:07:05 | 显示全部楼层
char只能用于DllStruct结构,在DllCall中,用str来表示一个Ansi字符串。
发表于 2010-11-21 18:42:36 | 显示全部楼层
本帖最后由 ceoguang 于 2010-11-21 23:59 编辑
Local $str = "char[16];int;char[16];char[16]"
$LOGININFO = DllStructCreate($str)
DllStructSetData($LOGININFO,"serverIp","192.168.1.1")
DllStructSetData($LOGININFO,"port","1000")
DllStructSetData($LOGININFO,"user","admin")
DllStructSetData($LOGININFO,"pwd","123")
$d = DllCall($dll, "bool", "WAPA_DVR_Init") 
$Ret = DllCall($dll, "long", "WAPA_DVR_Login", $LOGININFO)
 楼主| 发表于 2010-11-21 21:03:28 | 显示全部楼层
本帖最后由 yeqing880 于 2010-11-21 21:14 编辑

回复 3# ceoguang

帅哥。。用了您的代码。。但第一个函数返回值是257 第二个为空 error = 4(参数数量错误)

不知道是什么问题

要不我上传dll麻烦您帮我看下吧  [free][/free]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2010-11-21 23:12:09 | 显示全部楼层
LOGININFO  WAPA_DVR_Login(   char*  serverIp,
int    port, 
char*  user,
char*  psw
); 
确认下是psw还是pwd
 楼主| 发表于 2010-11-21 23:22:02 | 显示全部楼层
回复 5# ceoguang

说明文档如下  :   



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

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

我也看不明白到底是psw 还是pwd

但我不管是用psw 还是pwd。都是@error = 4
发表于 2010-11-22 00:09:13 | 显示全部楼层
本帖最后由 ceoguang 于 2010-11-22 00:15 编辑
$serverIp =DllStructCreate('char[16]')
DllStructSetData($serverIp,1,"192.168.1.1")
$user =DllStructCreate('char[16]')
DllStructSetData($user,1,"admin")
$pwd =DllStructCreate('char[16]')
DllStructSetData($pwd,1,"123")

$dll = DllOpen("DvrDll.dll")

$d = DllCall($dll, "bool", "WAPA_DVR_Init") 
$Ret = DllCall($dll, "long", "WAPA_DVR_Login", "str",$serverIp,"int","1000","str",$user,"str",$pwd)
搞不定
等高手吧
 楼主| 发表于 2010-11-22 00:17:11 | 显示全部楼层
唉。。直接报错了。。。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2010-11-22 12:31:07 | 显示全部楼层
唉~~~~~~楼主。。我来帮你顶下
 楼主| 发表于 2010-11-25 17:51:21 | 显示全部楼层
楼主。。我又来看你了。。不过这次来和上次一样。。拿钱、顶贴、走人
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-21 17:58 , Processed in 0.083315 second(s), 22 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表