SCardEndTransaction 函数 (winscard.h)
SCardEndTransaction 函数完成以前声明的事务,允许其他应用程序恢复与卡交互。
语法
LONG SCardEndTransaction(
[in] SCARDHANDLE hCard,
[in] DWORD dwDisposition
);
参数
[in] hCard
从上一次调用 SCardConnect 获取的引用值。 此值也用于之前对 SCardBeginTransaction 的调用。
[in] dwDisposition
关闭时对连接的读取器中的卡执行的操作。
值 | 含义 |
---|---|
|
弹出卡。 |
|
请勿执行任何特殊操作。 |
|
重置卡。 |
|
关闭卡。 |
返回值
如果函数成功,该函数将返回 SCARD_S_SUCCESS。
如果函数失败,它将返回错误代码。 有关详细信息,请参阅 智能卡返回值。 可能存在错误代码。
返回代码/值 | 说明 |
---|---|
|
事务已释放。 将来与卡通信都需要调用 SCardReconnect 函数。
Windows Server 2008、Windows Vista、Windows Server 2003 和 Windows XP: 事务未释放。 应用程序必须立即调用 SCardDisconnect、SCardReconnect 或 SCardReleaseContext 函数,以避免现有事务阻止其他线程和进程与智能卡通信。 |
注解
SCardEndTransaction 函数是一种智能卡和读取器访问函数。 有关其他访问函数的详细信息,请参阅 智能卡和读取器访问函数。
示例
以下示例结束智能卡事务。 该示例假定 lReturn 是 LONG 类型的有效变量,hCard 是从上一次调用 SCardConnect 函数接收的有效句柄,并且 hCard 已传递到对 SCardBeginTransaction 函数的上一次调用。
lReturn = SCardEndTransaction(hCard,
SCARD_LEAVE_CARD);
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardEndTransaction\n");
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | winscard.h |
Library | Winscard.lib |
DLL | Winscard.dll |