次の方法で共有


ISCardISO7816::ReadRecord メソッド

[ ReadRecord メソッドは、[要件] セクションで指定されたオペレーティング システムで使用できます。 Windows Server 2003 Service Pack 1 (SP1) 以降、Windows Vista、Windows Server 2008、およびそれ以降のバージョンのオペレーティング システムでは使用できません。 スマート カード モジュールも同様の機能を提供します

ReadRecord メソッドは、指定されたレコードの内容または基本ファイルの 1 つのレコードの先頭部分を読み取るアプリケーション プロトコル データ ユニット (APDU) コマンドを構築します。

構文

HRESULT ReadRecord(
  [in]      BYTE       byRecordId,
  [in]      BYTE       byRefCtrl,
  [in]      LONG       lBytesToRead,
  [in, out] LPSCARDCMD *ppCmd
);

パラメーター

byRecordId [in]

読み取る最初のレコードのレコード番号または ID (00 は現在のレコードを示します)。

byRefCtrl [in]

参照コントロールのコーディング。

説明
現在の EF
ビット位置: 00000---
現在選択されている EF。
短い EF ID
ビット位置: xxxxx---
短い EF 識別子。
Rfu
ビット位置: 11111---
レコード#
ビット位置: -----1xx
P1 でのレコード番号の使用。
レコードの読み取り
ビット位置: -----100
レコード P1 を読み取ります。
最後まで
ビット位置: -----101
P1 から最後までのすべてのレコードを読み取る。
P1 まで
ビット位置: -----110
最後から P1 までのすべてのレコードを読み取る。
Rfu
ビット位置: -----111
Record ID (レコード ID)
ビット位置: -----0xx
P1 でのレコード番号の使用。
最初の発生
ビット位置: -----000
最初の出現箇所を読み取る。
最後に発生
ビット位置: -----001
最後に発生した箇所を読み取る。
次の発生
ビット位置: -----010
次の出現箇所を読み取る。
[戻る]
ビット位置: -----011
前の出現箇所を読み取る。
シークレット
ビット位置: ---xxxxx

 

lBytesToRead [in]

透過的 EF から読み取るバイト数。

Le フィールドにゼロのみが含まれている場合は、P2 の b3b2b1 と、短い長さの場合は 256、拡張長の場合は 65536 の制限内に応じて、コマンドは、単一の要求されたレコードまたは要求されたレコードのシーケンスを完全に読み取る必要があります。

ppCmd [in, out]

入力時に、 ISCardCmd インターフェイス オブジェクトまたは NULL へのポインター。

戻り時には、この操作によって作成された APDU コマンドが入力されます。 ppCmdNULL に設定されている場合は、スマート カードISCardCmd オブジェクトが内部的に作成され、ppCmd ポインターを介して返されます。

戻り値

メソッドは、次のいずれかの可能な値を返します。

リターン コード 説明
S_OK
操作は正常に完了しました。
E_INVALIDARG
無効なパラメーター。
E_POINTER
不適切なポインターが渡されました。
E_OUTOFMEMORY
メモリが不足しています。

 

解説

カプセル化されたコマンドは、スマート カードのセキュリティ状態が読み取られる基本ファイルのセキュリティ属性を満たしている場合にのみ実行できます。

このコマンドの実行時に別の基本ファイルが現在選択されている場合は、現在選択されているファイルを識別せずに処理できます。

コマンドに有効な短い基本識別子が含まれている場合、ファイルは現在の基本ファイルとして設定されます。

レコード構造のない基本ファイルは読み取ることができません。 カプセル化されたコマンドは、レコード構造のない基本ファイルに適用されると中止されます。

このインターフェイスによって提供されるすべてのメソッドの一覧については、「 ISCardISO7816」を参照してください。

上記の COM エラー コードに加えて、スマート カード関数が呼び出されて要求を完了した場合、このインターフェイスはスマート カード エラー コードを返す場合があります。 詳細については、「 スマート カードの戻り値」を参照してください。

必要条件

要件
サポートされている最小のクライアント
Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー
Windows Server 2003 [デスクトップ アプリのみ]
クライアント サポートの終了
Windows XP
サーバー サポートの終了
Windows Server 2003
Header
Scardssp.h
タイプ ライブラリ
Scardsrv.tlb
[DLL]
Scardssp.dll
IID
IID_ISCardISO7816は 53B6AA68-3F56-11D0-916B-00AA00C18068 として定義されています

関連項目

AppendRecord

ISCardISO7816

UpdateRecord

WriteRecord