public static bool BASS_WASAPI_GetDeviceInfo(int device, BASS_WASAPI_DEVICEINFO info) { bool result; try { bool flag = BassWasapi.BASS_WASAPI_GetDeviceInfoInternal(device, ref info._internal); if (flag) { if (info._internal.name != IntPtr.Zero) { if (Bass.Bass._configUTF8) { info.name = Utils.IntPtrAsStringUtf8(info._internal.name); } else { info.name = Utils.IntPtrAsStringAnsi(info._internal.name); } } else { info.name = string.Empty; } if (info._internal.id != IntPtr.Zero) { if (Bass.Bass._configUTF8) { info.id = Utils.IntPtrAsStringUtf8(info._internal.id); } else { info.id = Utils.IntPtrAsStringAnsi(info._internal.id); } } else { info.id = string.Empty; } info.type = info._internal.type; info.flags = info._internal.flags; info.minperiod = info._internal.minperiod; info.defperiod = info._internal.defperiod; info.mixfreq = info._internal.mixfreq; info.mixchans = info._internal.mixchans; } result = flag; } catch { result = false; } return(result); }