public static String GetStringParam(IntPtr bar, String varName, String paramName)
{
if (bar == IntPtr.Zero) {
throw new ArgumentOutOfRangeException("bar");
} else if (paramName == null) {
throw new ArgumentNullException("paramName");
}
var buffer = new StringBuilder(MaxStringLength);
if (NativeMethods.TwGetParamStr(bar, varName, paramName, ParamValueType.CString, (uint)buffer.Capacity, buffer) == 0) {
throw new AntTweakBarException("TwGetParam failed.");
}
return buffer.ToString();
}