Share via


SCardReadCacheA 関数 (winscard.h)

SCardReadCache 関数は、スマート カード Resource Managerによって維持されるグローバル キャッシュから名前と値のペアの値部分を取得します。

構文

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が返されます。

関数が失敗した場合は、次のいずれかのエラー コードが返されます。 詳細については、「 スマート カードの戻り値」を参照してください。

リターン コード/値 Description
SCARD_W_CACHE_ITEM_NOT_FOUND
0x80100070
指定した名前と値のペアがグローバル キャッシュに見つかりませんでした。
SCARD_W_CACHE_ITEM_STALE
0x80100071
指定した名前と値のペアが要求されたよりも古く、キャッシュから削除されました。

解説

注意

winscard.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SCardReadCache を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー winscard.h
Library Winscard.lib
[DLL] Winscard.dll

関連項目

SCardWriteCache