[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);