微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 测试测量 > Labview > labview调用dll获取硬件信息结构体求教

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

时间:10-02 整理:3721RD 点击:
想调用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;

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

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top