execute method

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

Implementation

@override
Tuple2<SCardResult, SCardHandle> execute(_PcscContext ctx) {
  final pReader = _NativeUtils.allocateString(szReader);
  final phCard = calloc<SCARDHANDLE>();
  final pdwProtocol = calloc<DWORD>();
  try {
    final ret = ctx.winscard.SCardConnect(hContext, pReader, dwShareMode, dwPreferredProtocols, phCard, pdwProtocol);
    return Tuple2(SCardResult(ret), SCardHandle(phCard.value, pdwProtocol.value));
  } finally {
    calloc.free(pReader);
    calloc.free(phCard);
    calloc.free(pdwProtocol);
  }
}