Opc.Ua.Com.Server.ComDaProxy.MapPropertyReadStatusToErrorCode C# (CSharp) Method

MapPropertyReadStatusToErrorCode() static private method

Converts a StatusCode returned during a Read to an HRESULT.
static private MapPropertyReadStatusToErrorCode ( StatusCode statusCode ) : int
statusCode StatusCode
return int
        internal static int MapPropertyReadStatusToErrorCode(StatusCode statusCode)
        {
            // map good status.
            if (StatusCode.IsGood(statusCode))
            {
                return ResultIds.S_OK;
            }

            // map bad status codes.
            if (StatusCode.IsBad(statusCode))
            {
                switch (statusCode.Code)
                {
                    case StatusCodes.BadOutOfMemory: { return ResultIds.E_OUTOFMEMORY; }
                    case StatusCodes.BadNodeIdInvalid: { return ResultIds.E_INVALID_PID; }
                    case StatusCodes.BadNodeIdUnknown: { return ResultIds.E_INVALID_PID; }
                    case StatusCodes.BadNotReadable: { return ResultIds.E_BADRIGHTS; }
                    case StatusCodes.BadUserAccessDenied: { return ResultIds.E_ACCESSDENIED; }
                    case StatusCodes.BadAttributeIdInvalid: { return ResultIds.E_INVALID_PID; }
                    case StatusCodes.BadTypeMismatch: { return ResultIds.E_BADTYPE; }
                }

                return ResultIds.E_FAIL;
            }

            // uncertain values for property reads are errors.
            return ResultIds.E_FAIL;
        }