kxing 发表于 2015-4-5 20:53:04

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

本帖最后由 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了。

谢谢!

netegg 发表于 2015-4-5 21:34:14

wstr试试

netegg 发表于 2015-4-5 21:34:40

wstr试试

kxing 发表于 2015-4-5 21:45:45

不行的,用了wstr后dllcall的error返回1,反倒是说dll不存在了。

netegg 发表于 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",yourptr)).
LPTSTR lpBuffer = LPWSTR = WCHAR*

kxing 发表于 2015-4-6 14:26:25

我找到方法了,就是str。但是返回值取array,坑死。。。
页: [1]
查看完整版本: [已解决]求教一个api调用的参数对应类型