Opc.Ua.Fdi7.TransferMethodFFH1MethodState.Call C# (CSharp) Method

Call() protected method

Invokes the method, returns the result and output argument.
protected Call ( ISystemContext context, Opc.Ua.NodeId objectId, IList inputArguments, IList outputArguments ) : ServiceResult
context ISystemContext The current context.
objectId Opc.Ua.NodeId The id of the object.
inputArguments IList The input arguments which have been already validated.
outputArguments IList The output arguments which have initialized with thier default values.
return Opc.Ua.ServiceResult
        protected override ServiceResult Call(
            ISystemContext context,
            NodeId objectId,
            IList<object> inputArguments,
            IList<object> outputArguments)
        {
            if (OnCall == null)
            {
                return base.Call(context, objectId, inputArguments, outputArguments);
            }

            ServiceResult result = null;

            byte[] communicationRelationId = (byte[])inputArguments[0];
            string oPERATION = (string)inputArguments[1];
            string blockTag = (string)inputArguments[2];
            uint iNDEX = (uint)inputArguments[3];
            uint sUB_INDEX = (uint)inputArguments[4];
            byte[] writeData = (byte[])inputArguments[5];
            uint serviceId = (uint)inputArguments[6];

            byte[] readData = (byte[])outputArguments[0];
            uint delayForNextCall = (uint)outputArguments[1];
            object serviceError = (object)outputArguments[2];

            if (OnCall != null)
            {
                result = OnCall(
                    context,
                    this,
                    objectId,
                    communicationRelationId,
                    oPERATION,
                    blockTag,
                    iNDEX,
                    sUB_INDEX,
                    writeData,
                    serviceId,
                    ref readData,
                    ref delayForNextCall,
                    ref serviceError);
            }

            outputArguments[0] = readData;
            outputArguments[1] = delayForNextCall;
            outputArguments[2] = serviceError;

            return result;
        }