Exemplo n.º 1
0
        /// <inheritdoc />
        public string[] GetReaders(string[] groups)
        {
            ThrowOnInvalidContext();

            var rc = _api.ListReaders(
                _contextPtr,
                groups,
                out var readers);

            switch (rc)
            {
            case SCardError.Success:
                return(readers);

            case SCardError.NoReadersAvailable:
                return(new string[0]);    // Service running, no reader connected

            case SCardError.InvalidHandle:
                throw new InvalidContextException(rc, "Invalid Scope Handle");

            default:
                rc.Throw();
                return(null);
            }
        }