找回密码
 加入
搜索
查看: 2542|回复: 5

[AU3基础] [已解决]求教一个api调用的参数对应类型

[复制链接]
发表于 2015-4-5 20:53:04 | 显示全部楼层 |阅读模式
本帖最后由 kxing 于 2015-4-6 14:27 编辑

api的说明如下:

DWORD WINAPI xyttsGetDeviceName(DWORD dwDeviceId, LPTSTR lpszDeviceName, DWORD dwLength);
函数功能: 通过给定的声卡序号获取该声卡的名称,序号从0开始索引。
返回值: 取得的声卡名称缓冲区的长度。
输入参数:
DWORD dwDeviceId: 双字型,声卡序号: 从0开始索引。
LPTSTR lpszDeviceName: 字符串,声卡名称字符串缓冲区: 若该值设为NULL(空),则函数返回声卡名称所需的字符串缓冲区长度。
DWORD dwLength: 双字型,缓冲区长度: 指定用于存放声卡名称缓冲区的长度。

这个LPTSTR lpszDeviceName如何在dllcall里面传入呢,c里面只要传入一个char数组就ok了。

谢谢!
发表于 2015-4-5 21:34:14 | 显示全部楼层
wstr[65536]试试
发表于 2015-4-5 21:34:40 | 显示全部楼层
wstr[1024]试试
 楼主| 发表于 2015-4-5 21:45:45 | 显示全部楼层
不行的,用了wstr[1024]后dllcall的error返回1,反倒是说dll不存在了。
发表于 2015-4-5 22:14:07 | 显示全部楼层
本帖最后由 netegg 于 2015-4-5 22:20 编辑

LPCWSTR/LPWSTR=wstr
or get the pointer (ptr*) to that unicodestring and supply that pointer to a structure (dllstructcreate("wchar[size]",yourptr)).
LPTSTR lpBuffer = LPWSTR = WCHAR*
 楼主| 发表于 2015-4-6 14:26:25 | 显示全部楼层
我找到方法了,就是str。但是返回值取array[2],坑死。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-16 00:34 , Processed in 0.076066 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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