Я использую библиотеку Fmod версии 1.16.8
Я пишу свою собственную оболочку C # для FMOD, потому что я не был удовлетворен их оболочкой.На полпути в переводе низкоуровневых примеров я столкнулся с ошибкой, которую не понимаю.
Эта оболочка использует библиотеку классов "AdvancedDLSupport" для привязки собственной библиотеки, если это вообще помогает.
FMOD_DSP_GetParameterData()
возвращает Result.Err_Invalid_Param
для того, что является допустимым использованием.
Код для функции-оболочки:
public IntPtr GetParameterData(int index, out uint length)
{
length = 0;
if ((uint)index >= (uint)ParameterCount)
{
throw new ArgumentOutOfRangeException(nameof(index));
}
library.DSP_GetParameterData(Handle, index, out IntPtr data, out length, IntPtr.Zero, 0).CheckResult();
return data;
}
index
гарантированно не равен нулю и меньшечем счетчик параметров, но он все равно возвращает Result.Err_Invalid_Param
.И да, параметр, обозначенный index
, является параметром данных, поэтому я не понимаю, какую ошибку он мне дает.