次の方法で共有


ISCardISO7816::ManageChannel メソッド

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

ManageChannel メソッドは、論理チャネルを開いて閉じるアプリケーション プロトコル データ ユニット (APDU) コマンドを構築します。

open 関数は、基本チャネル以外の新しい論理チャネルを開きます。 論理チャネル番号を割り当てるカード、または論理チャネル番号をカードに指定するためのオプションが用意されています。

close 関数は、基本チャネル以外の論理チャネルを明示的に閉じます。 正常に終了すると、論理チャネルを再利用できるようになります。

構文

HRESULT ManageChannel(
  [in]      BYTE       byChannelState,
  [in]      BYTE       byChannel,
  [in, out] LPSCARDCMD *ppCmd
);

パラメーター

byChannelState [in]

P1 のビット b8 は、オープン関数または close 関数を示すために使用されます。b8 が 0 の場合、MANAGE CHANNEL は論理チャネルを開き、b8 が 1 の場合、MANAGE CHANNEL は論理チャネルを閉じる必要があります。

P1 = '00' を開く

P1 = '80' を閉じる

その他の値は RFU です

byChannel [in]

オープン関数 (P1 = '00') の場合、P2 のビット b1 と b2 を使用して、クラス バイトと同じ方法で論理チャネル番号をコーディングします。P2 の他のビットは RFU です。

P2 の b1 と b2 が NULL の場合、カードはデータ フィールドのビット b1 と b2 で返される論理チャネル番号を割り当てます。

P2 の b1 または b2 が NULL でない場合は、基本チャネル以外の論理チャネル番号をコーディングします。その後、カードは外部割り当て済みの論理チャネル番号を開きます。

ppCmd [in, out]

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

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

戻り値

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

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

 

解説

オープン機能が基本論理チャネルから正常に実行されると、MF は現行 DF として暗黙的に選択され、新しい論理チャネルのセキュリティー状況は ATR の後の基本論理チャネルと同じである必要があります。 新しい論理チャネルのセキュリティ状態は、他の論理チャネルとは別にする必要があります。

オープン関数が論理チャネル (基本チャネルではない) から正常に実行されると、コマンドを発行した論理チャネルの現在の DF が現在の DF として選択されます。 さらに、新しい論理チャネルのセキュリティー状況は、オープン機能が実行された論理チャネルのセキュリティー状況と同じである必要があります。

close 関数が正常に終了すると、この論理チャネルに関連するセキュリティ状態が失われます。

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