private static RfcResultCode HandleGenericMetadata(RfcInterop interop, SapConnectionParameters parameters, string functionName, RfcAttributes attributes, out IntPtr funcDescHandle) { RfcConnectionParameter[] interopParameters = parameters.ToInterop(); IntPtr connection = interop.OpenConnection( connectionParams: interopParameters, paramCount: (uint)interopParameters.Length, errorInfo: out RfcErrorInfo connectionErrorInfo); if (connectionErrorInfo.Code != RfcResultCode.RFC_OK) { funcDescHandle = IntPtr.Zero; return(connectionErrorInfo.Code); } funcDescHandle = interop.GetFunctionDesc( rfcHandle: connection, funcName: functionName, errorInfo: out RfcErrorInfo errorInfo); RfcResultCode resultCode = interop.CloseConnection( rfcHandle: connection, errorInfo: out RfcErrorInfo closeErrorInfo); return(errorInfo.Code); }
/// <inheritdoc cref="ISapConnection"/> public void Connect() { RfcConnectionParameter[] interopParameters = _parameters.ToInterop(); _rfcConnectionHandle = _interop.OpenConnection( connectionParams: interopParameters, paramCount: (uint)interopParameters.Length, errorInfo: out RfcErrorInfo errorInfo); errorInfo.ThrowOnError(beforeThrow: Clear); }
internal static ISapServer Create(RfcInterop rfcInterop, SapConnectionParameters parameters) { RfcConnectionParameter[] interopParameters = parameters.ToInterop(); IntPtr rfcServerHandle = rfcInterop.CreateServer( connectionParams: interopParameters, paramCount: (uint)interopParameters.Length, errorInfo: out RfcErrorInfo errorInfo); errorInfo.ThrowOnError(); return(new SapServer(rfcInterop, rfcServerHandle, parameters)); }