Oh, I am so sorry. I made the hypothesis that the value of rv are including in the set of IFD_SUCCESS|IFD_ICC_PRESENT|IFD_ICC_NOT_PRESENT|SCARD_E_NOT_TRANSACTED.
Now I encounter this problem. What's the reason, do you think? I want to know what the main reason is, software (device driver) or hardware? This line lead to the error: rv = (*IFDH_icc_presence) (rContext->dwSlot); And IFDH_icc_presence = rContext->psFunctions.psFunctions_v2.pvfICCPresence; Let me describe my environment in detail. Now I am running VMWare on the host computer of WinXP. In VMWare, Fedora Core 4(kernel 2.6.14-1.1644_FC4) + pcsc-lite-1.2.9-beta6 + my new DT3500 driver are installed. The same program can run on my laptop only installing Linux Fedora Core 3. Thanks for the help. Best regards, TowerGee > Message: 7 > Date: Fri, 30 Dec 2005 22:59:44 +0100 > From: Karsten Ohme <[EMAIL PROTECTED]> > Subject: Re: [Muscle] why SCARD_E_NOT_TRANSACTED error? > To: MUSCLE <[email protected]> > Message-ID: <[EMAIL PROTECTED]> > Content-Type: text/plain; charset=ISO-8859-1 > > mail mail wrote: > > Hi, > > > > I have post in former articls. And now I read the source code of > > readfactory.c and ifdwrapper.c and I find that the rv value is strange > > in ifdwrapper.c. I am using pcsc-lite-1.2.9-beta6. Can anybody tell me > > why? > > > > 450 #ifndef PCSCLITE_STATIC_DRIVER > > 451 if (rContext->dwVersion == IFD_HVERSION_1_0) > > 452 { > > 453 ucValue[0] = rContext->dwSlot; > > 454 IFDSetCapabilities(rContext, TAG_IFD_SLOTNUM, > > 1, ucValue); > > 455 rv = (*IFD_is_icc_present) (); > > 456 } > > 457 else { > > 458 rv = (*IFDH_icc_presence) (rContext->dwSlot); > > 459 DebugLogB("error code of rv1 is %d", rv); > > 460 } > > 461 #else > > 462 if (rContext->dwVersion == IFD_HVERSION_1_0) > > 463 { > > 464 ucValue[0] = rContext->dwSlot; > > 465 IFDSetCapabilities(rContext, TAG_IFD_SLOTNUM, > > 1, ucValue); > > 466 rv = IFD_Is_ICC_Present(); > > 467 } > > 468 else { > > 469 rv = IFDHICCPresence(rContext->dwSlot); > > 470 DebugLogB("error code of rv is %d", rv); > > 471 } > > 472 #endif > > 473 DebugLogA("gongying88"); > > 474 SYS_MutexUnLock(rContext->mMutex); > > 475 > > 476 /* > > 477 * END OF LOCKED REGION > > 478 */ > > 479 //DebugLogA("rv is %d", rv); > > 480 DebugLogA(" kkkg "); > > 481 if (rv == IFD_SUCCESS || rv == IFD_ICC_PRESENT) { > > 482 dwCardStatus |= SCARD_PRESENT; > > 483 DebugLogA(" kkk "); > > 484 } > > 485 else { > > 486 if (rv == IFD_ICC_NOT_PRESENT) { > > 487 dwCardStatus |= SCARD_ABSENT; > > 488 DebugLogA(" kkk1 "); > > 489 } > > 490 else { > > 491 DebugLogA(" kkk2 "); > > 492 DebugLogB("error code %d", > > SCARD_E_NOT_TRANSACTED); > > 493 return SCARD_E_NOT_TRANSACTED; > > > > The output is the following: > > > > ifdwrapper.c:447:IFDStatusICC gongying888 > > IFDHICCPresence 0 > > ifdwrapper.c:459:IFDStatusICC error code of rv1 is 612 > > ifdwrapper.c:473:IFDStatusICC gongying88 > > ifdwrapper.c:480:IFDStatusICC kkkg > > ifdwrapper.c:491:IFDStatusICC kkk2 > > ifdwrapper.c:492:IFDStatusICC error code -2146435050 > > eventhandler.c:153:EHSpawnEventHandler gongying7 -2146435050 > > eventhandler.c:156:EHSpawnEventHandler Initial Check Failed on DT3500 > > Reader 00 00 > > readerfactory.c:255:RFAddReader gongying6 > > IFDHGetCapabilities 0, Tag=0xFAE > > Segmentation fault > > > > Why the value of rv is 612 in line 459 but -2146435050 in line 492? > > rv = (*IFDH_icc_presence) (rContext->dwSlot); > DebugLogB("error code of rv1 is %d", rv); > > is different from > > DebugLogB("error code %d", SCARD_E_NOT_TRANSACTED); > > (SCARD_E_NOT_TRANSACTED vs. (*IFDH_icc_presence) (rContext->dwSlot);) > > Karsten > > > There is not a statement between these two lines which modifies the > > value of rv. > > > > Thanks in advanced. > > > > Best regards, > > TowerGee > > > > _______________________________________________ > > Muscle mailing list > > [email protected] > > http://lists.drizzle.com/mailman/listinfo/muscle > > > > ------------------------------ > > _______________________________________________ > Muscle mailing list > [email protected] > http://lists.drizzle.com/mailman/listinfo/muscle > > > End of Muscle Digest, Vol 22, Issue 29 > ************************************** > _______________________________________________ Muscle mailing list [email protected] http://lists.drizzle.com/mailman/listinfo/muscle
