execute method
Implementation
@override
Tuple2<SCardResult, List<int>> execute(_PcscContext ctx) {
final sendBuf = _NativeUtils.allocateBytes(pbSendBuffer);
final recvBuf = calloc<ffi.Uint8>(MAX_BUFFER_SIZE);
final bytesRet = calloc<DWORD>();
try {
final ret = ctx.winscard.SCardControl(hCard, dwControlCode, sendBuf.cast<ffi.Void>(), pbSendBuffer.length, recvBuf.cast<ffi.Void>(), MAX_BUFFER_SIZE, bytesRet);
final result = SCardResult(ret);
if (!result.isSuccess) return Tuple2(result, []);
return Tuple2(result, _NativeUtils.convertBytes(recvBuf, bytesRet.value));
} finally {
calloc.free(sendBuf);
calloc.free(recvBuf);
calloc.free(bytesRet);
}
}