Die APIs und Strukturen sind jeweils die WideString Varianten, da ich Delphi 2009 verwendet habe. Eigentlich ist der abgeschnittene Name ja auch kein Bug, sondern eine Beschränkung der mixerGetDevCaps
API. Wenn man sich die Struktur anschaut:
Delphi-Quellcode:
tagMIXERCAPSW = record
wMid: WORD; { manufacturer id }
wPid: WORD; { product id }
vDriverVersion: MMVERSION; { version of the driver }
szPname: array [0..MAXPNAMELEN - 1] of WideChar; { product name }
fdwSupport: DWORD; { misc. support bits }
cDestinations: DWORD; { count of destinations }
end;
Sieht man die Begrenzung auf MAXPNAMELEN (32).
Aber irgendwie listet ja auch z.b. die Systemsteuerung unter XP die vorhandenen Geräte auf. Dort ist die Topology
API meines Wissens nach noch nicht vorhanden, aber die Namen sind trotzdem nicht abgeschnitten.