次の方法で共有


ISCardISO7816::SelectFile メソッド

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

SelectFile メソッドは、論理チャネル内で現在の基本ファイルを設定するアプリケーション プロトコル データ ユニット (APDU) コマンドを構築します。 後続のコマンドは、論理チャネルを介して現在のファイルを暗黙的に参照できます。

ファイルストアのルート (MF) である可能性がある カード ファイルストア内のディレクトリ (DF) を選択すると、現在の DF になります。 このような選択の後、暗黙的な現在の基本ファイルは、その論理チャネルを介して参照できます。

基本ファイルを選択すると、選択したファイルとその親が現在のファイルとして設定されます。

リセットの応答の後、履歴バイトまたは初期データ文字列で異なる方法で指定しない限り、MF は基本的な論理チャネルを介して暗黙的に選択されます。

構文

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

パラメーター

byP1 [in]

選択コントロール。

P1 (ワードの上バイト): 8 7 6 5 4 3 2 1 説明
000000xx
[ファイル ID] を選択します
00000000
EF、DF、または MF
00000001
子 DF
00000010
DF の下の EF
00000011
現在の DF の親 DF

 

P1=00 の場合、カードは、ファイル ID の特定のコーディング、または選択するファイルが MF、DF、または EF の場合はコマンドの実行コンテキストによって認識されます。

P1-P2=0000 の場合、ファイル ID が指定されている場合は、次の環境で一意である必要があります。

  • 現在の DF の直下の子
  • 親 DF
  • 親 DF の直接の子

P1-P2=0000 で、データ・フィールドが空であるか 3F00 に等しい場合は、MF を選択します。

P1=04 の場合、データ・フィールドは DF 名であり、場合によっては右に切り捨てられます。

サポートされている場合、同じデータ フィールドを持つ連続するコマンドでは、名前がデータ フィールドと一致する (つまり、コマンド データ フィールドから始まる) DFs を選択する必要があります。 カードが空のデータ フィールドを持つコマンドを受け入れる場合は、DFs のすべてまたはサブセットを連続して選択できます。

byP2 [in]

選択コントロール。

pData [in]

必要に応じて操作用のデータ。それ以外の場合は NULL。 このパラメーターで渡されるデータの種類は次のとおりです。

  • ファイル ID
  • MF からのパス
  • 現在の DF からのパス
  • DF 名

lBytesToRead [in]

空 (つまり、0) または応答で予想されるデータの最大長。

ppCmd [in, out]

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

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

戻り値

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

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

 

解説

特に指定しない限り、カプセル化されたコマンドを正しく実行すると、次の規則に従ってセキュリティ状態が変更されます。

  • 現在の基本ファイルが変更された場合、または現在の基本ファイルがない場合、以前の現在の基本ファイルに固有のセキュリティ状態は失われます。
  • 現在のファイルストア・ディレクトリー (DF) が前の現行 DF の子孫である場合、または前の現行 DF と同じ場合、前の現行 DF に固有のセキュリティー状況は失われます。 前および新規の現行 DF のすべての共通先祖に共通するセキュリティー状況が維持されます。

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

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

要件

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

関連項目

ISCardISO7816