ISCardISO7816::WriteBinary メソッド

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

WriteBinary メソッドは、バイナリ値を基本ファイルに書き込むアプリケーション プロトコル データ ユニット (APDU) コマンドを構築します。

ファイル属性に応じて、コマンドは次のいずれかの操作を実行します。

  • カードに既に存在するビットの論理 OR と、コマンド APDU で指定されたビット (ファイルのビットの論理消去状態は 0)。
  • カードに既に存在するビットの論理 AND と、コマンド APDU で指定されたビット (ファイルのビットの論理消去状態は 1)。
  • コマンド APDU で指定されたビットのカード内の 1 回限りの書き込み。

データ コーディング バイトに指示がない場合は、論理 OR 動作が適用されます。

構文

HRESULT WriteBinary(
  [in]      BYTE         byP1,
  [in]      BYTE         byP2,
  [in]      LPBYTEBUFFER pData,
  [in, out] LPSCARDCMD   *ppCmd
);

パラメーター

byP1 [in]

バイナリ ファイル (EF) の先頭からの書き込み場所へのオフセット。 P1 で b8=1 の場合、P1 の b7 と b6 は 0 (RFU ビット) に設定され、P1 の b5 から b1 は短い EF 識別子であり、P2 はファイルの先頭からデータ単位で書き込まれる最初のバイトのオフセットです。 P1 で b8=0 の場合は P1 になります||P2 は、ファイルの先頭からデータ単位で書き込まれる最初のバイトのオフセットです。

byP2 [in]

バイナリ ファイル (EF) の先頭からの書き込み場所へのオフセット。 P1 で b8=1 の場合、P1 の b7 と b6 は 0 (RFU ビット) に設定され、P1 の b5 から b1 は短い EF 識別子であり、P2 はファイルの先頭からデータ単位で書き込まれる最初のバイトのオフセットです。 P1 で b8=0 の場合は P1 になります||P2 は、ファイルの先頭からデータ単位で書き込まれる最初のバイトのオフセットです。

pData [in]

書き込むデータ単位の文字列へのポインター。

ppCmd [in, out]

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

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

戻り値

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

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

 

注釈

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

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

1 回限りの書き込み EF のデータ単位に書き込みバイナリ操作が適用されている場合、このデータ ユニットを参照するそれ以上の書き込み操作は、データ ユニットの内容またはこのデータ ユニットにアタッチされている論理消去状態インジケーター (存在する場合) が論理消去状態と異なる場合は中止されます。

透明構造のない基本ファイルは書き込めません。 カプセル化されたコマンドは、透過的な構造を持たない基本ファイルに適用されると中止されます。

このインターフェイスによって提供されるすべてのメソッドの一覧については、 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 として定義されます

こちらもご覧ください

EraseBinary

ISCardISO7816

ReadBinary

UpdateBinary