When using the proxy dll these exports: g_rgSCardT0Pci, g_rgSCardT1Pci g_rgSCardRawPci are not correctly defined.
If your program depends on these you will get error 0x6c6 during SCardTransmit since your pioSendPci value will be wrong.
To fix this replace the contents of data_WinSCard.cpp with the following:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct _SCARD_IO_REQUEST {
unsigned long dwProtocol; // Protocol identifier
unsigned long cbPciLength; // Protocol Control Information Length
} SCARD_IO_REQUEST;
SCARD_IO_REQUEST g_rgSCardT0Pci, g_rgSCardT1Pci, g_rgSCardRawPci;
void Init_g_rgSCardT0Pci(void *p)
{
g_rgSCardT0Pci = *(SCARD_IO_REQUEST*)p;
}
void Init_g_rgSCardT1Pci(void *p)
{
g_rgSCardT1Pci = *(SCARD_IO_REQUEST*)p;
}
void Init_g_rgSCardRawPci(void *p)
{
g_rgSCardRawPci = *(SCARD_IO_REQUEST*)p;
}