WinAPI: midiOutGetDevCaps 查询输出设备性能

//声明:
midiOutGetDevCaps(
  uDeviceID: UINT;      {设备 ID}
  lpCaps: PMidiOutCaps; {TMidiOutCaps 结构的指针}
  uSize: UINT           {TMidiOutCaps 结构的大小}
): MMRESULT;       {成功返回 0; 可能的错误值见下:}

MMSYSERR_BADDEVICEID = 2;  {设备ID超界}
MMSYSERR_NODRIVER    = 6;  {没有安装驱动程序}

//TMidiOutCaps 是 tagMIDIOUTCAPSA 结构的重定义:
tagMIDIOUTCAPSA = record
  wMid: Word;                  {商家 ID}
  wPid: Word;                  {产品 ID}
  vDriverVersion: MMVERSION;   {版本号; 高位字节是主版本号、低位字节是次版本号}
  szPname: array[0..MAXPNAMELEN-1] of AnsiChar; {产品名称}
  wTechnology: Word;           {设备类型}
  wVoices: Word;               {音色数(仅对合成器, 否则为0)}
  wNotes: Word;                {最大发音数(仅对合成器, 否则为0)}
  wChannelMask: Word;          {通道数(仅对合成器, 否则为0)}
  dwSupport: DWORD;            {设备支持的其他功能}
end;

//设备类型 wTechnology 可选值:
MOD_MIDIPORT = 1; {MIDI 硬件端口}
MOD_SYNTH    = 2; {普通合成器}
MOD_SQSYNTH  = 3; {方波合成器}
MOD_FMSYNTH  = 4; {FM 合成器}
MOD_MAPPER   = 5; {Microsoft MIDI 映射器}

//设备支持的其他功能 dwSupport:
MIDICAPS_VOLUME   = $0001; {支持音量控制}
MIDICAPS_LRVOLUME = $0002; {支持左右声道音量控制}
MIDICAPS_CACHE    = $0004; {支持音色高速缓存}
MIDICAPS_STREAM   = $0008; {设备直接支持 midiStreamOut}

//举例:
原文地址:https://www.cnblogs.com/del/p/1078230.html