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 [仅限桌面应用]
目标平台 Windows
标头 winscard.h
Library Winscard.lib
DLL Winscard.dll

另请参阅

SCardWriteCache