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

            var sc = _api.ListReaderGroups(
                _contextPtr,
                out var groups);

            switch (sc)
            {
            case SCardError.Success:
                return(groups);

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

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

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