execute method

  1. @override
Tuple2<SCardResult, List<String>> execute(
  1. _PcscContext ctx
)
override

Implementation

@override
Tuple2<SCardResult, List<String>> execute(_PcscContext ctx) {
  final pcch = calloc<DWORD>()..value = MAX_BUFFER_SIZE;
  final msz = calloc<ffi.Char>(MAX_BUFFER_SIZE);
  try {
    final ret = ctx.winscard.SCardListReaders(hContext, ctx.nullptr, msz, pcch);
    final result = SCardResult(ret);
    if (!result.isSuccess) return Tuple2(result, []);
    return Tuple2(result, _NativeUtils.convertStringArray(msz, pcch.value));
  } finally {
    calloc.free(msz);
    calloc.free(pcch);
  }
}