[Pcsclite-cvs-commit] CVS PCSC/doc/example

CVS User rousseau ludovic.rousseau@free.fr
Mon, 28 Feb 2005 06:41:54 -0700


Update of /cvsroot/pcsclite/PCSC/doc/example
In directory haydn:/tmp/cvs-serv20772

Modified Files:
	pcsc_demo.c 
Log Message:
add SCardGetStatusChange() code sample


--- /cvsroot/pcsclite/PCSC/doc/example/pcsc_demo.c	2004/10/03 12:58:54	1.19
+++ /cvsroot/pcsclite/PCSC/doc/example/pcsc_demo.c	2005/02/28 13:41:53	1.20
@@ -20,7 +20,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
  *
- * $Id: pcsc_demo.c,v 1.19 2004/10/03 12:58:54 rousseau Exp $
+ * $Id: pcsc_demo.c,v 1.20 2005/02/28 13:41:53 rousseau Exp $
  */
 
 #include <stdio.h>
@@ -69,7 +69,7 @@
 	DWORD dwSendLength, dwRecvLength;
 
 	printf("PC/SC sample code\n");
-	printf("V 1.1 2003-2004, Ludovic Rousseau <ludovic.rousseau@free.fr>\n");
+	printf("V 1.2 2003-2005, Ludovic Rousseau <ludovic.rousseau@free.fr>\n");
 
 	printf("\nTHIS PROGRAM IS NOT DESIGNED AS A TESTING TOOL FOR END USERS!\n");
 	printf("Do NOT use it unless you really know what you do.\n\n");
@@ -218,6 +218,19 @@
 	printf("\n");
 	PCSC_ERROR(rv, "SCardStatus")
 
+	/* get card status change */
+	{
+		/* check only one reader */
+		SCARD_READERSTATE_A rgReaderStates[1];
+
+		rgReaderStates[0].szReader = pbReader;
+		rgReaderStates[0].dwCurrentState = SCARD_STATE_UNAWARE;
+
+		rv = SCardGetStatusChange(hContext, 0, rgReaderStates, 1);
+		printf(" state: 0x%04X\n", rgReaderStates[0].dwEventState);
+		PCSC_ERROR(rv, "SCardGetStatusChange")
+	}
+
 	/* exchange APDU */
 	dwSendLength = sizeof(pbSendBuffer);
 	dwRecvLength = sizeof(pbRecvBuffer);