<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=iso-8859-1"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;
color:windowtext;
mso-fareast-language:EN-US;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
p
{mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;
color:black;}
p.msonormal0, li.msonormal0, div.msonormal0
{mso-style-name:msonormal;
mso-style-priority:99;
mso-margin-top-alt:auto;
margin-right:0cm;
mso-margin-bottom-alt:auto;
margin-left:0cm;
font-size:12.0pt;
font-family:"Times New Roman",serif;
color:black;}
span.EstiloCorreo19
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;
font-family:"Calibri",sans-serif;
mso-fareast-language:EN-US;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=ES link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Hi PCSC lite Project people,<o:p></o:p></p><p class=MsoNormal> I’m developing a software that nowadays is not stable (my software is buggy), but I detected that a bug in my software causes a bug in pcsc-lite.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The “SCardReconnect” doesn’t check if the connection has a transaction opened. So if you open a transtaction and reconnects the transaction is still opened. And also you can open a new transaction. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Check this sample code:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-family:"Courier New"'>#ifdef WIN32<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#undef UNICODE<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#endif<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#include <stdio.h><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#include <stdlib.h><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#ifdef __APPLE__<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#include <PCSC/winscard.h><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#include <PCSC/wintypes.h><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#else<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#include <winscard.h><o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#endif<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#ifdef WIN32<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>static char *pcsc_stringify_error(LONG rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>{<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> static char out[20];<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> sprintf_s(out, sizeof(out), "0x%08X", rv);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> return out;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#endif<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#define CHECK(f, rv) \<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> if (SCARD_S_SUCCESS != rv) \<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> { \<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf(f ": %s\n", pcsc_stringify_error(rv)); \<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> return -1; \<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> }<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>int main(void)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>{<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> LONG rv;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> SCARDCONTEXT hContext;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> LPTSTR mszReaders;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> SCARDHANDLE hCard;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> DWORD dwReaders, dwActiveProtocol, dwRecvLength;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> SCARD_IO_REQUEST pioSendPci;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> BYTE pbRecvBuffer[258];<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> BYTE cmd1[] = { 0x00, 0xA4, 0x04, 0x00, 0x0A, 0xA0,<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> 0x00, 0x00, 0x00, 0x62, 0x03, 0x01, 0x0C, 0x06, 0x01 };<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> BYTE cmd2[] = { 0x00, 0x00, 0x00, 0x00 };<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> unsigned int i;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardEstablishContext", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#ifdef SCARD_AUTOALLOCATE<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> dwReaders = SCARD_AUTOALLOCATE;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardListReaders(hContext, NULL, (LPTSTR)&mszReaders, &dwReaders);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardListReaders", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#else<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardListReaders(hContext, NULL, NULL, &dwReaders);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardListReaders", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> mszReaders = calloc(dwReaders, sizeof(char));<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardListReaders(hContext, NULL, mszReaders, &dwReaders);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardListReaders", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#endif<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("reader name: %s\n", mszReaders);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("SCardConnect\n");<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardConnect(hContext, mszReaders, SCARD_SHARE_SHARED,<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, &hCard, &dwActiveProtocol);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardConnect", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("hCard = %08x\n",hCard);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("First SCardBeginTransaction\n");<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardBeginTransaction(hCard);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardBeginTransaction", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("First SCardReconnect\n");<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardReconnect(hCard, SCARD_SHARE_SHARED,<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, SCARD_LEAVE_CARD, &dwActiveProtocol);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardReconnect", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("hCard = %08x\n",hCard);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("Second SCardBeginTransaction\n");<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardBeginTransaction(hCard);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardBeginTransaction", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("SCardEndTransaction\n");<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardEndTransaction(hCard, SCARD_LEAVE_CARD);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardEndTransaction", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("SCardEstablishContext --- \n");<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardEstablishContext(SCARD_SCOPE_SYSTEM, NULL, NULL, &hContext);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardEstablishContext", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("SCardConnect to the new context\n");<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardConnect(hContext, mszReaders, SCARD_SHARE_SHARED,<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1, &hCard, &dwActiveProtocol);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardConnect", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> printf("Connected OK!\n");<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardDisconnect(hCard, SCARD_LEAVE_CARD);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardDisconnect", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#ifdef SCARD_AUTOALLOCATE<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardFreeMemory(hContext, mszReaders);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardFreeMemory", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#else<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> free(mszReaders);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>#endif<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> rv = SCardReleaseContext(hContext);<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> CHECK("SCardReleaseContext", rv)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> return 0;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'><o:p> </o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>The output of this code is:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-family:"Courier New"'>reader name: C3PO LTC31 v2 (17070129) 00 00<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>SCardConnect<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>hCard = 761d7d91<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>First SCardBeginTransaction<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>First SCardReconnect<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>hCard = 761d7d91<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>Second SCardBeginTransaction<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>SCardEndTransaction<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>SCardEstablishContext --- <o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>SCardConnect to the new context<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I think that the problem could be in “readerfactory.c” in the “RFCheckSharing” function:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-family:"Courier New"'>LONG RFCheckSharing(SCARDHANDLE hCard, READER_CONTEXT * rContext)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>{<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> if (rContext->hLockId == 0 || rContext->hLockId == hCard)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> return SCARD_S_SUCCESS;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> else<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'> return SCARD_E_SHARING_VIOLATION;<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>}<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>This code only checks the card handle, that is the same for the “reconnection”. So you can begin several transactions in the same card.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I added a debug line to see the LockCount:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000004 pcscdaemon.c:134:SVCServiceRunLoop() A new context thread creation is requested: 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00005871 winscard_svc.c:331:ContextThread() Authorized PC/SC client<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000017 winscard_svc.c:335:ContextThread() Thread is started: dwClientID=12, threadContext @0x2408d00<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000010 winscard_svc.c:353:ContextThread() Received command: CMD_VERSION from client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000005 winscard_svc.c:365:ContextThread() Client is protocol version 4:3<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard_svc.c:385:ContextThread() CMD_VERSION rv=0x0 for client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000035 winscard_svc.c:353:ContextThread() Received command: ESTABLISH_CONTEXT from client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000012 winscard.c:215:SCardEstablishContext() Establishing Context: 0x76FF5983<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000004 winscard_svc.c:446:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000016 winscard_svc.c:353:ContextThread() Received command: CMD_GET_READERS_STATE from client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000093 winscard_svc.c:353:ContextThread() Received command: CONNECT from client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00002777 winscard_svc.c:484:ContextThread() Authorized client for 'C3PO LTC31 v2 (17070129) 00 00'<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000011 winscard.c:257:SCardConnect() Attempting Connect to C3PO LTC31 v2 (17070129) 00 00 using protocol: 3<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000004 readerfactory.c:768:RFReaderInfo() RefReader() count was: 1<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard.c:352:SCardConnect() powerState: POWER_STATE_INUSE<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 prothandler.c:110:PHSetProtocol() Attempting PTS to T=0<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000005 ifdhandler.c:682:IFDHSetProtocolParameters() protocol T=0, usb:0783/0006:libudev:0:/dev/bus/usb/001/003 (lun: 0)<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 ifdhandler.c:2047:extra_egt() Extra EGT patch applied<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00023748 winscard.c:431:SCardConnect() Active Protocol: T=0<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000033 winscard.c:451:SCardConnect() hCard Identity: 761d7d91<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000006 winscard.c:512:SCardConnect() UnrefReader() count was: 2<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000005 winscard_svc.c:498:ContextThread() CONNECT rv=0x0 for client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000068 winscard_svc.c:353:ContextThread() Received command: BEGIN_TRANSACTION from client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000007 readerfactory.c:795:RFReaderInfoById() RefReader() count was: 1<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 readerfactory.c:955:RFLockSharing() BEGIN<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 readerfactory.c:962:RFLockSharing() Card: 761d7d91 LockCount: 1<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 readerfactory.c:966:RFLockSharing() END<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard.c:1104:SCardBeginTransaction() Status: 0x00000000<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000002 winscard.c:1107:SCardBeginTransaction() UnrefReader() count was: 2<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard_svc.c:550:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000017 winscard_svc.c:353:ContextThread() Received command: RECONNECT from client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000005 winscard.c:526:SCardReconnect() Attempting reconnect to token.<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000002 readerfactory.c:795:RFReaderInfoById() RefReader() count was: 1<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard.c:725:SCardReconnect() Active Protocol: T=0<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000013 winscard.c:815:SCardReconnect() UnrefReader() count was: 2<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard_svc.c:517:ContextThread() RECONNECT rv=0x0 for client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000019 winscard_svc.c:353:ContextThread() Received command: BEGIN_TRANSACTION from client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000004 readerfactory.c:795:RFReaderInfoById() RefReader() count was: 1<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 readerfactory.c:955:RFLockSharing() BEGIN<o:p></o:p></span></p><p class=MsoNormal><b><span style='font-size:12.0pt;font-family:"Courier New"'>00000002 readerfactory.c:962:RFLockSharing() Card: 761d7d91 LockCount: 2</span></b><b><span style='font-family:"Courier New"'><o:p></o:p></span></b></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000002 readerfactory.c:966:RFLockSharing() END<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard.c:1104:SCardBeginTransaction() Status: 0x00000000<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000002 winscard.c:1107:SCardBeginTransaction() UnrefReader() count was: 2<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard_svc.c:550:ContextThread() BEGIN_TRANSACTION rv=0x0 for client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000014 winscard_svc.c:353:ContextThread() Received command: END_TRANSACTION from client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000005 readerfactory.c:795:RFReaderInfoById() RefReader() count was: 1<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000002 readerfactory.c:974:RFUnlockSharing() BEGIN<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 readerfactory.c:982:RFUnlockSharing() Card: 761d7d91 LockCount: 1<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000002 readerfactory.c:994:RFUnlockSharing() END<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard.c:1247:SCardEndTransaction() Status: 0x00000000<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000002 winscard.c:1250:SCardEndTransaction() UnrefReader() count was: 2<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard_svc.c:566:ContextThread() END_TRANSACTION rv=0x0 for client 12<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00009089 winscard_msg_srv.c:253:ProcessEventsServer() Common channel packet arrival<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000016 winscard_msg_srv.c:265:ProcessEventsServer() ProcessCommonChannelRequest detects: 14<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000004 pcscdaemon.c:134:SVCServiceRunLoop() A new context thread creation is requested: 14<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00003876 winscard_svc.c:331:ContextThread() Authorized PC/SC client<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000011 winscard_svc.c:335:ContextThread() Thread is started: dwClientID=14, threadContext @0x2412cf0<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000007 winscard_svc.c:353:ContextThread() Received command: CMD_VERSION from client 14<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000004 winscard_svc.c:365:ContextThread() Client is protocol version 4:3<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard_svc.c:385:ContextThread() CMD_VERSION rv=0x0 for client 14<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000015 winscard_svc.c:353:ContextThread() Received command: ESTABLISH_CONTEXT from client 14<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000005 winscard.c:215:SCardEstablishContext() Establishing Context: 0x2F00BA9<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000002 winscard_svc.c:446:ContextThread() ESTABLISH_CONTEXT rv=0x0 for client 14<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000019 winscard_svc.c:353:ContextThread() Received command: CONNECT from client 14<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00004487 winscard_svc.c:484:ContextThread() Authorized client for 'C3PO LTC31 v2 (17070129) 00 00'<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000013 winscard.c:257:SCardConnect() Attempting Connect to C3PO LTC31 v2 (17070129) 00 00 using protocol: 3<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000004 readerfactory.c:768:RFReaderInfo() RefReader() count was: 1<o:p></o:p></span></p><p class=MsoNormal><span style='font-family:"Courier New"'>00000003 winscard.c:294:SCardConnect() Waiting for release of lock<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thanks and best regards!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 style='border-collapse:collapse'><tr><td colspan=4 style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><b><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#7F7F7F'>Abraham Macías Paredes<o:p></o:p></span></b></p></td></tr><tr><td colspan=4 style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#7F7F7F'>Analista / Programador<o:p></o:p></span></p></td></tr><tr><td colspan=4 style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#7F7F7F'>Departamento de Desarrollo y Soluciones <o:p></o:p></span></p></td></tr><tr><td colspan=4 style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Arial",sans-serif'><a href="mailto:amacias@solutia-it.es">amacias@solutia-it.es</a><span style='color:#436581'><o:p></o:p></span></span></p></td></tr><tr><td colspan=4 style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581'> <o:p></o:p></span></p></td></tr><tr><td rowspan=2 valign=top style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581;mso-fareast-language:ES'><img border=0 width=20 height=200 style='width:.2083in;height:2.0833in' id="Imagen_x0020_1" src="cid:image001.gif@01D2158A.8B9147F0" alt="cid:image001.gif@01D2158A.8B9147F0"></span><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581'><o:p></o:p></span></p></td><td width=350 colspan=2 valign=top style='width:262.5pt;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><a href="http://solutia-it.es/" title="Ir a la Web de Solutia"><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:blue;mso-fareast-language:ES;text-decoration:none'><img border=0 width=280 height=85 style='width:2.9166in;height:.8854in' id="Imagen_x0020_2" src="cid:image002.gif@01D2158A.8B9147F0" alt="Ir a la Web de
Solutia"></span></a><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581'><o:p></o:p></span></p></td><td width="100%" rowspan=2 valign=top style='width:100.0%;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581;mso-fareast-language:ES'><img border=0 width=200 height=200 style='width:2.0833in;height:2.0833in' id="Imagen_x0020_3" src="cid:image003.gif@01D2158A.8B9147F0" alt="cid:image003.gif@01D2158A.8B9147F0"></span><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581'><o:p></o:p></span></p></td></tr><tr><td width=50 style='width:37.5pt;padding:.75pt .75pt .75pt .75pt'></td><td width=310 style='width:232.5pt;padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><strong><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581'>Solutia Innovaworld Technologies S.L.</span></strong><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581'><br>Parque empresarial Los Llanos<br>C/ Extremadura, 108 - 41909 - Salteras (Sevilla)<br>T: +34 955 11 11 55<br>F: +34 954 37 11 42<br><a href="http://www.solutia-it.es"><span style='color:#F05801'>www.solutia-it.es</span></a><o:p></o:p></span></p></td></tr><tr><td colspan=2 rowspan=2 style='padding:.75pt .75pt .75pt .75pt'></td><td colspan=2 style='padding:.75pt .75pt .75pt .75pt'><p class=MsoNormal><a href="http://solutia-it.es/calidad/" title="Ver
Certificaciones de Calidad de Solutia"><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:blue;mso-fareast-language:ES;text-decoration:none'><img border=0 width=300 height=90 style='width:3.125in;height:.9375in' id="Imagen_x0020_4" src="cid:image004.jpg@01D2158A.8B9147F0" alt="Ver
Certificaciones de Calidad de Solutia"></span></a><span style='font-size:8.5pt;font-family:"Arial",sans-serif;color:#436581'><o:p></o:p></span></p></td></tr><tr><td colspan=2 style='padding:.75pt .75pt .75pt .75pt'><p><span style='font-size:7.0pt;font-family:"Arial",sans-serif;color:#7F7F7F;mso-fareast-language:EN-US'>Sus datos personales contenidos en esta comunicación han sido recogidos de los contactos mantenidos por Vd. o por personas de su entorno, con personal de SOLUTIA INNOVAWORLD TECHNOLOGIES, S.L. y han sido incorporados al fichero de GESTIÓN COMERCIAL con la finalidad de realizar la gestión, seguimiento y mantenimiento de nuestra relación comercial, o a otro fichero correspondiente al tipo de relación que mantiene con nosotros, de lo que Vd. fue convenientemente informado al recibir bien el documento contractual entregado al inicio de los contactos bien en una comunicación inmediatamente posterior en que se daba cumplimiento al derecho de información y se le solicitaba consentimiento para tratar sus datos personales, tratamiento que se efectuará de acuerdo a las finalidades allí expresadas.<o:p></o:p></span></p><p><span style='font-size:7.0pt;font-family:"Arial",sans-serif;color:#7F7F7F;mso-fareast-language:EN-US'>En el caso en que ésta sea la primera comunicación que recibe por nuestra parte, le solicitamos su consentimiento para proceder al tratamiento de sus datos de acuerdo a las condiciones detalladas al inicio. Entenderemos que nos presta su consentimiento si en el plazo de un mes a contar desde la recepción de esta comunicación no nos expresa su voluntad en contra. Le informamos que puede revocar en cualquier momento su consentimiento respondiendo a este mail indicando que no desea recibir más información acerca de nuestra empresa, supuesto en el que será automáticamente dado de baja de nuestra lista de correo.<o:p></o:p></span></p><p><span style='font-size:7.0pt;font-family:"Arial",sans-serif;color:#7F7F7F;mso-fareast-language:EN-US'>Podrá ejercer sus derechos de acceso, rectificación, cancelación y oposición ante el Responsable del fichero, SOLUTIA INNOVAWORLD TECHNOLOGIES, S.L. en la dirección C/ Extremadura, 108 Parque empresarial Los Llanos; 41909 Salteras, SEVILLA, indicando en la comunicación la referencia "LOPD"<o:p></o:p></span></p></td></tr><tr height=0><td width=22 style='border:none'></td><td width=38 style='border:none'></td><td width=244 style='border:none'></td><td width=404 style='border:none'></td></tr></table><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p></div></body></html>