public int ClaimDevice(int Timeout)
        {
            if (_props.ByName.Claimed)
            {
                return(SetResultCode(ResultCodeConstants.Success));
            }
            if (Timeout < -1)
            {
                return(SetResultCode(ResultCodeConstants.Illegal));
            }

            try
            {
                if (_device.CanClaimDevice())
                {
                    if (_device.ClaimDevice(TimeSpan.FromMilliseconds(Timeout)))
                    {
                        _props.SetIntProperty(PropertyConstants.PIDX_Claimed, 1);
                        return(SetResultCode(ResultCodeConstants.Success));
                    }

                    return(SetResultCode(ResultCodeConstants.Timeout));
                }

                return(SetResultCode(ResultCodeConstants.Illegal));
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(SetResultCode(ResultCodeConstants.Failure));
            }
        }