CHIPDRIVE CLOUD 4700F 905511 데이터 시트
제품 코드
905511
CLOUD
47
X
0
F
R
EFERENCE
M
ANUAL
93
File Name: CLOUD 47x0 F Escape.c
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
#include <conio.h>
#include "winscard.h"
#include "winerror.h"
#include "CLOUD 47x0F Escape.h"
VOID main(VOID)
{
#include <windows.h>
#include <winbase.h>
#include <stdio.h>
#include <conio.h>
#include "winscard.h"
#include "winerror.h"
#include "CLOUD 47x0F Escape.h"
VOID main(VOID)
{
SCARDCONTEXT
ContextHandle;
SCARDHANDLE
CardHandle;
ReaderInfoExtended strReaderInfo;
BYTE
BYTE
InByte,
i;
DWORD
BytesRead,
ActiveProtocol;
ULONG
ret;
char
*s;
char
*ReaderName[] = {"Identive CLOUD 4700 F Contact Reader 0",
"Identive
CLOUD
4700
F
Contactless
Reader
0",
NULL};
/***************************************************************************************
*****************/
ContextHandle
=
-1;
ret = SCardEstablishContext(SCARD_SCOPE_USER, NULL, NULL, &ContextHandle);
if (ret == SCARD_S_SUCCESS)
{
s = ReaderName[0];
printf("Connecting to reader %s\n", s);
ret = SCardConnect( ContextHandle,
s,
SCARD_SHARE_DIRECT,
SCARD_PROTOCOL_UNDEFINED,
&CardHandle,
&ActiveProtocol);
if (ret == SCARD_S_SUCCESS)
{
InByte
InByte
=
0x1E;
ret
=
SCardControl(
CardHandle,
IOCTL_CCID_ESCAPE,
&InByte,
1,
&strReaderInfo,
sizeof(strReaderInfo),
&BytesRead);
if (SCARD_S_SUCCESS == ret) {
printf("major version:\t\t%d%d\n", (strReaderInfo.byMajorVersion& 0xF0)>> 4,
(strReaderInfo.byMajorVersion& 0x0F));
printf("minor version:\t\t%d%d\n", (strReaderInfo.byMinorVersion& 0xF0)>> 4,
(strReaderInfo.byMinorVersion& 0x0F));
printf("modes:\t\t\t%d\n",
printf("modes:\t\t\t%d\n",
strReaderInfo.bySupportedModes);
printf("protocols:\t\t%04x\n",
strReaderInfo.wSupportedProtocols);
printf("input
device:\t\t%04x\n",
strReaderInfo.winputDevice);
printf("personality:\t\t%d\n",
strReaderInfo.byPersonality);
printf("maxslots:\t\t%d\n",
strReaderInfo.byMaxSlots);
printf("serial
no
length:\t%d\n",
strReaderInfo.bySerialNoLength);
printf("serial
no:\t\t");
for (i = 0; i <strReaderInfo.bySerialNoLength; i++)
if (strReaderInfo.abySerialNumber[i] != 0) printf("%c",
strReaderInfo.abySerialNumber[i]);
}
}
else
{
printf("SCardControl
failed:
%08X\n",
ret);
}
}
else
else
{
printf("SCardConnect failed: %08X\n", ret);
}