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

2019-07-18 05:12发布

想调用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;
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
2条回答
二霸
1楼-- · 2019-07-18 10:27
一般来说,struct对应LabVIEW中的Cluster,但是字节对齐的细节有不同,要视具体情况而做出一些调整。如果有该DLL的头文件,可以直接利用LabVIEW将DLL转成VI来使用,免去一些调试的麻烦。
刀马旦
2楼-- · 2019-07-18 10:30
如果你想获得声卡的名称,大可不用这样。LV自带的2个ExpressVI就包含这个功能,你只需要看看它的子Vi。至于结构体与Struct的对应关系,LV有自带例程,LZ可以看一下,主要是字节对齐的问题。

一周热门 更多>