LabVIEW论坛
直播中

香脆面

11年用户 575经验值
私信 关注
[问答]

labview调用dll获取硬件信息结构体求教

想调用winmm.dll中的waveOutGetDevCaps获取声卡信息,但是里面有结构体数据,尝试了几次都失败告终,求大虾指教。
MMRESULT waveOutGetDevCaps(  UINT_PTR  uDeviceID,   LPWAVEOUTCAPS pwoc,  UINT   cbwoc  );
typedef struct {
WORD      wMid;
WORD      wPid;
MMVERSION vDriverVersion;
TCHAR     szPname[MAXPNAMELEN];
DWORD     dwFormats;
WORD      wChannels;
WORD      wReserved1;
DWORD     dwSupport;
} WAVEOUTCAPS;
已退回4积分

回帖(2)

二霸

2015-1-14 15:56:37
一般来说,struct对应LabVIEW中的Cluster,但是字节对齐的细节有不同,要视具体情况而做出一些调整。如果有该DLL的头文件,可以直接利用LabVIEW将DLL转成VI来使用,免去一些调试的麻烦。
举报

刀马旦

2015-1-14 15:57:00
如果你想获得声卡的名称,大可不用这样。LV自带的2个ExpressVI就包含这个功能,你只需要看看它的子Vi。至于结构体与Struct的对应关系,LV有自带例程,LZ可以看一下,主要是字节对齐的问题。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分