SCardReadCacheA 函数 (winscard.h)

SCardReadCache 函数从 智能卡资源管理器维护的全局缓存中检索名称/值对的值部分。

语法

LONG SCardReadCacheA(
  [in]  SCARDCONTEXT hContext,
  [in]  UUID         *CardIdentifier,
  [in]  DWORD        FreshnessCounter,
  [in]  LPSTR        LookupName,
  [out] PBYTE        Data,
  [out] DWORD        *DataLen
);

参数

[in] hContext

标识 资源管理器上下文的句柄。 资源管理器上下文由上一次调用 SCardEstablishContext设置。

[in] CardIdentifier

指向唯一标识智能卡的值的指针。 此函数从全局缓存中读取的名称/值对与此智能卡相关联。

[in] FreshnessCounter

缓存数据的当前修订。

[in] LookupName

指向以 null 结尾的字符串的指针,该字符串包含要为其检索值部分的名称值对的名称部分。

[out] Data

指向字节值的数组的指针,其中包含由 LookupName 参数指定的名称/值对的值部分。

[out] DataLen

指向 数据 缓冲区的大小(以字节为单位)的指针。

返回值

如果函数成功,则返回 SCARD_S_SUCCESS

如果函数失败,它将返回以下错误代码之一。 有关详细信息,请参阅 智能卡返回值

返回代码/值 描述
SCARD_W_CACHE_ITEM_NOT_FOUND
0x80100070
在全局缓存中找不到指定的名称/值对。
SCARD_W_CACHE_ITEM_STALE
0x80100071
指定的名称/值对早于请求,并且已从缓存中删除。

言论

注意

winscard.h 标头将 SCardReadCache 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows Vista [仅限桌面应用]
支持的最低服务器 Windows Server 2008 [仅限桌面应用]
目标平台 窗户
标头 winscard.h
Winscard.lib
DLL Winscard.dll

另请参阅

SCardWriteCache