/// <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); } }