SCardDisconnect 関数 (winscard.h)

SCardDisconnect 関数は、呼び出し元のアプリケーションとターゲット リーダーのスマート カードとの間で以前に開いた接続を終了します

構文

LONG SCardDisconnect(
  [in] SCARDHANDLE hCard,
  [in] DWORD       dwDisposition
);

パラメーター

[in] hCard

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

[in] dwDisposition

接続されているリーダーのカードに対して実行するアクションを閉じます。

説明
SCARD_LEAVE_CARD
特別なことをしないでください。
SCARD_RESET_CARD
カードをリセットします。
SCARD_UNPOWER_CARD
カードの電源を切る。
SCARD_EJECT_CARD
カードを取り出します。

戻り値

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

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

解説

アプリケーション (以前は SCardConnect と呼ばれた) が SCardDisconnect を呼び出さずに終了すると、カードは自動的にリセットされます。

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

次の例では、指定したスマート カード接続を終了します。 この例では、lReturn が LONG 型の変数であり、hCardHandle が SCardConnect の以前の呼び出しから受信した有効なハンドルであることを前提としています。


lReturn = SCardDisconnect(hCardHandle, 
                          SCARD_LEAVE_CARD);
if ( SCARD_S_SUCCESS != lReturn )
{
    printf("Failed SCardDisconnect\n");
    exit(1);  // Or other appropriate action.
}

要件

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

関連項目

SCardConnect

SCardReconnect