Beispiel #1
0
        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);
        }