友我科技PCSC双界面读写器YW-606开发指南
1.建立资源管理器的上下文
函数ScardEstablishContext()用于建立将在其中进行设备数据库操作的资源管理器上下文(范围)。
函数原型:LONG SCardEstablishContext(DWORD dwScope, LPCVOID pvReserved1, LPCVOID pvReserved2, LPSCARDCONTEXT phContext);
各个参数的含义:
(1)dwScope:输入类型;表示资源管理器上下文范围,取值为:SCARD_SCOPE_USER(在用户域中完成设备数据库操作)、SCARD_SCOPE_SYSTEM(在系统域中完成设备数据库操作)。要求应用程序具有相应的操作权限。
(2)pvReserved1:输入类型;保留,必须为NULL。
(3)pvReserved2:输入类型;保留,必须为NULL。
(4)phContext:输出类型;建立的资源管理器上下文的句柄。
下面是建立资源管理器上下文的代码:
SCARDCONTEXT hSC;
LONG lReturn;
lReturn = SCardEstablishContext(SCARD_SCOPE_USER, NULL, NULL, &hSC);
if ( lReturn!=SCARD_S_SUCCESS )
printf("Failed SCardEstablishContext ");
2. 获得系统中安装的读卡器列表
函数ScardListReaders()可以列出系统中安装的读卡器的名字。
函数原型:LONG SCardListReaders(SCARDCONTEXT hContext, LPCTSTR mszGroups, LPTSTR mszReaders, LPDWORD pcchReaders);
各个参数的含义:
(1)hContext:输入类型;ScardEstablishContext()建立的资源管理器上下文的句柄,不能为NULL。
(2)mszGroups:输入类型;读卡器组名,为NULL时,表示列出所有读卡器。
(3)mszReaders:输出类型;系统中安装的读卡器的名字,各个名字之间用’