public static RfcRc GetString(IDataContainerHandle containerHandle, string name, out string value, out RfcErrorInfo errorInfo) { var buffer = new char[61]; var rc = Interopt.RfcGetString(containerHandle.Ptr, name, buffer, 61, out var stringLength, out errorInfo); if (rc != RfcRc.RFC_BUFFER_TOO_SMALL) { value = new string(buffer, 0, (int)stringLength); return(rc); } buffer = new char[stringLength + 1]; rc = Interopt.RfcGetString(containerHandle.Ptr, name, buffer, stringLength + 1, out _, out errorInfo); value = new string(buffer, 0, (int)stringLength); return(rc); }