Sorry, SCardConnect, not Stablish context:
DWORD rv = SCardConnect( hContext, lpcReaders, SCARD_SHARE_EXCLUSIVE,
SCARD_PROTOCOL_T0,
&hCard, &dwActive );
if (rv == SCARD_S_SUCCESS){
printf("Card detected");
}
On Wednesday 14 April 2010 08:32:08 am Marc Rios Vallès wrote:
> Hi,
>
> For what I know, if SCardConnect returns SCARD_S_SUCCESS there is a Card
> inserted so:
> DWORD rv = SCardEstablishContext( SCARD_SCOPE_SYSTEM, 0, 0, &hContext );
>
> if (rv == SCARD_S_SUCCESS){
> printf("Card detected");
> }
>
>
> > Hello all,
> >
> > I am trying to use pcsclite API just to check if the card is inserted on the
> > reader or not, based on the API reference and some example codes at muscle
> > site:
> >
> > #include <stdio.h>
> > #include <PCSC/pcsclite.h>
> > #include <stdlib.h>
> >
> > int main() {
> >
> > SCARDCONTEXT hContext;
> > SCARDHANDLE hCard;
> > char *lpcReaders;
> > DWORD dwReaders;
> > DWORD dwActive, dwState, dwRlen;
> > DWORD dwProtocol, dwAtrLen;
> > BYTE Atr[MAX_ATR_SIZE];
> >
> > SCardEstablishContext( SCARD_SCOPE_SYSTEM, 0, 0,
> > &hContext );
> >
> > dwReaders = 0;
> > lpcReaders = 0;
> >
> > SCardListReaders( hContext, 0, NULL, &dwReaders );
> > lpcReaders = (char *)malloc(sizeof(char)*dwReaders);
> > SCardListReaders( hContext, 0, lpcReaders, &dwReaders );
> >
> > SCardConnect( hContext, lpcReaders, SCARD_SHARE_EXCLUSIVE,
> > SCARD_PROTOCOL_T0,
> > &hCard, &dwActive );
> >
> > dwState = 0;
> >
> > // here lpcReaders prints the value "OmniKey CardMan 3121 00 00"
> > // This 00 00 should be there? I think the problem is here...
> >
> > SCardStatus( hCard, lpcReaders, &dwReaders, &dwState, &dwProtocol,
> > Atr, &dwAtrLen );
> >
> > SCardDisconnect( hCard, SCARD_UNPOWER_CARD );
> > SCardReleaseContext( hContext );
> >
> > if ( dwState & SCARD_PRESENT ) {
> > return 1;
> > }
> >
> > return 0;
> > }
> >
> > This code compiles and execute without an error... but it does not detect
> > the presence of the smartcard. Any ideas?
> >
> >
> > thanks, global
> >
>
>
> _______________________________________________
> Muscle mailing list
> [email protected]
> http://lists.drizzle.com/mailman/listinfo/muscle
>
--
Marc Rios Vallès
[email protected]
C3PO, S.A.
http://www.c3po.es
C/ Alejandro Goicoechea, 6 Local 9 - 08960 St. Just Desvern, Barcelona
Tel. 93 417 99 55 - Fax 93 253 12 80
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle