SCardReconnect 関数 (winscard.h)

SCardReconnect 関数は、呼び出し元のアプリケーションとスマート カードの間の既存の接続を再確立します。 この関数は、カード ハンドルを直接アクセスから一般的なアクセスに移動するか、カードへのそれ以上のアクセスを妨げているエラー状態を確認してクリアします。

構文

LONG SCardReconnect(
  [in]            SCARDHANDLE hCard,
  [in]            DWORD       dwShareMode,
  [in]            DWORD       dwPreferredProtocols,
  [in]            DWORD       dwInitialization,
  [out, optional] LPDWORD     pdwActiveProtocol
);

パラメーター

[in] hCard

SCardConnect の以前の呼び出しから取得した参照値。

[in] dwShareMode

他のアプリケーションがこのカードへの接続を形成できるかどうかを示すフラグ。

意味
SCARD_SHARE_SHARED
このアプリケーションは、このカードを他のアプリケーションと共有します。
SCARD_SHARE_EXCLUSIVE
このアプリケーションは、このカードを他のアプリケーションと共有しません。

[in] dwPreferredProtocols

この接続で許容されるプロトコルのビットマスク。 使用できる値は 、OR 演算と組み合わせることができます。

このパラメーターの値には、現在のプロトコルを含める必要があります。 現在のプロトコル以外のプロトコルと再接続しようとすると、エラーが発生します。

意味
SCARD_PROTOCOL_T0
T=0 は許容されるプロトコルです。
SCARD_PROTOCOL_T1
T=1 は許容されるプロトコルです。

[in] dwInitialization

カードで実行する初期化の種類。

意味
SCARD_LEAVE_CARD
再接続時に特別な操作を行わないでください。
SCARD_RESET_CARD
カードをリセットします (ウォーム リセット)。
SCARD_UNPOWER_CARD
カードの電源を切り、リセットします (コールド リセット)。

[out, optional] pdwActiveProtocol

確立されたアクティブなプロトコルを示すフラグ。

意味
SCARD_PROTOCOL_T0
T=0 はアクティブなプロトコルです。
SCARD_PROTOCOL_T1
T=1 はアクティブなプロトコルです。

戻り値

この関数は、成功するか失敗したかに応じて異なる値を返します。

リターン コード 説明
Success
SCARD_S_SUCCESS。
障害
エラー コード。 詳細については、「 スマート カードの戻り値」を参照してください。

注釈

SCardReconnect は、スマート カードおよびリーダー アクセス関数です。 その他のアクセス機能については、「 スマート カードおよびリーダー アクセス関数」を参照してください。

次の例は、接続の再確立を示しています。

DWORD     dwAP;
LONG      lReturn;

// Reconnect.
// hCardHandle was set by a previous call to SCardConnect.
lReturn = SCardReconnect(hCardHandle,
                         SCARD_SHARE_SHARED,
                         SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1,
                         SCARD_LEAVE_CARD,
                         &dwAP );
if ( SCARD_S_SUCCESS != lReturn )
    printf("Failed SCardReconnect\n");

要件

要件
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー winscard.h
Library Winscard.lib
[DLL] Winscard.dll

こちらもご覧ください

SCardConnect

SCardDisconnect