listReaders method

  1. @override
Tuple2<SCardResult, List<String>> listReaders(
  1. int hContext
)
override

Implementation

@override
Tuple2<SCardResult, List<String>> listReaders(int hContext) {
  final pcchReaders = calloc<DWORD>()..value = MAX_BUFFER_SIZE;
  final mszReaders = calloc<ffi.Char>(pcchReaders.value);

  try {
    var response = _winscard.SCardListReaders(hContext, _nullptr, mszReaders, pcchReaders);
    var result = SCardResult(response);

    if( !result.isSuccess ) {
      return Tuple2(result, []);
    }

    var readerList = _convertNativeStringArray(mszReaders, pcchReaders.value);

    return Tuple2(result, readerList);
  }
  finally {
    calloc.free(mszReaders);
    calloc.free(pcchReaders);
  }
}