ISCardISO7816::P utData メソッド
[ PutData メソッドは、[要件] セクションで指定したオペレーティング システムで使用できます。 Windows Server 2003 Service Pack 1 (SP1) 以降、Windows Vista、Windows Server 2008、および以降のバージョンのオペレーティング システムでは使用できません。 スマート カード モジュールも同様の機能を提供します。
PutData メソッドは、選択したファイルに応じて、1 つのプリミティブ データ オブジェクトまたは構築されたデータ オブジェクトに含まれるデータ オブジェクトのセットを格納するアプリケーション プロトコル データ ユニット (APDU) コマンドを構築します。
オブジェクトの格納方法 (1 回の書き込み、更新および/または追加) は、データ オブジェクトの定義または性質によって異なります。
構文
HRESULT PutData(
[in] BYTE byP1,
[in] BYTE byP2,
[in] LPBYTEBUFFER pData,
[in, out] LPSCARDCMD *ppCmd
);
パラメーター
-
byP1 [in]
-
P1-P2 のコーディング。
値 説明 - 0000 - 003F
Rfu - 0040 - 00FF
P2 の BER-TLV タグ (1 バイト) - 0100 - 01FF
アプリケーション データ (独自のコーディング) - 0200 - 02FF
P2 の SIMPLE-TLV タグ - 0300 - 03FF
Rfu - 0400 ~ 04FF
P1-P2 の BER-TLV タグ (2 バイト) -
byP2 [in]
-
P1-P2 のコーディング。
値 説明 - 0000 - 003F
Rfu - 0040 - 00FF
P2 の BER-TLV タグ (1 バイト) - 0100 - 01FF
アプリケーション データ (独自のコーディング) - 0200 - 02FF
P2 の SIMPLE-TLV タグ - 0300 - 03FF
Rfu - 0400 ~ 04FF
P1-P2 の BER-TLV タグ (2 バイト) -
pData [in]
-
書き込まれるパラメーターとデータを含むバイト バッファーへのポインター。
-
ppCmd [in, out]
-
入力時に、 ISCardCmd インターフェイス オブジェクトまたは NULL へのポインター。
戻り時には、この操作によって作成された APDU コマンドが入力されます。 ppCmd が NULL に設定されている場合、スマート カードISCardCmd オブジェクトが内部的に作成され、ppCmd ポインターを使用して返されます。
戻り値
メソッドは、次のいずれかの値を返します。
リターン コード | 説明 |
---|---|
|
操作は正常に完了しました。 |
|
無効なパラメーター。 |
|
不適切なポインターが渡されました。 |
|
メモリが不足しています。 |
解説
コマンドは、セキュリティ状態が、関数の コンテキスト 内でアプリケーションによって定義されたセキュリティ条件を満たす場合にのみ実行できます。
-
アプリケーション データを格納する
-
P1-P2 の値が 0100 から 01FF の範囲にある場合、P1-P2 の値は、カード内部テストと、特定のアプリケーション コンテキスト内で意味のある独自のサービス用に予約された識別子になります。
-
データ オブジェクトを格納する
-
値 P1 から P2 が 0040 から 00FF の範囲にある場合、P2 の値は 1 バイトの BER-TLV タグになります。 00FF の値は、データ・フィールドが BER-TLV データ・オブジェクトを伝送することを示す目的で予約されています。
P1-P2 の値が 0200 から 02FF の範囲にある場合、P2 の値は SIMPLE-TLV タグになります。 値 0200 は RFU です。 値 02FF は、データ・フィールドが SIMPLE-TLV データ・オブジェクトを伝送することを示す目的で予約されています。
P1-P2 の値が 4000 から FFFF までの範囲にある場合、P1-P2 の値は 2 バイトの BER-TLV タグになります。 FFFF の値 4000 は RFU です。
プリミティブ データ オブジェクトが指定されている場合、コマンド メッセージのデータ フィールドには、対応するプリミティブ データ オブジェクトの値が含まれている必要があります。
構築されたデータ オブジェクトが指定されると、コマンド メッセージのデータ フィールドには、構築されたデータ オブジェクト (つまり、タグ、長さ、値を含むデータ オブジェクト) の値が含まれている必要があります。
このインターフェイスによって提供されるすべてのメソッドの一覧については、「 ISCardISO7816」を参照してください。
上記の COM エラー コードに加えて、要求を完了するためにスマート カード関数が呼び出された場合、このインターフェイスはスマート カード エラー コードを返す場合があります。 詳細については、「 スマート カードの戻り値」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
クライアント サポートの終了 |
Windows XP |
サーバー サポートの終了 |
Windows Server 2003 |
ヘッダー |
|
タイプ ライブラリ |
|
[DLL] |
|
IID |
IID_ISCardISO7816は 53B6AA68-3F56-11D0-916B-00AA00C18068 として定義されています |
こちらもご覧ください