SCardConnectA 関数 (winscard.h)
SCardConnect 関数は、呼び出し元アプリケーションと特定のリーダーに含まれる スマート カード との間の接続 (特定の リソース マネージャー コンテキストを使用) を確立します。 指定したリーダーにカードが存在しない場合は、エラーが返されます。
構文
LONG SCardConnectA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szReader,
[in] DWORD dwShareMode,
[in] DWORD dwPreferredProtocols,
[out] LPSCARDHANDLE phCard,
[out] LPDWORD pdwActiveProtocol
);
パラメーター
[in] hContext
リソース マネージャー コンテキストを識別するハンドル。 リソース マネージャー コンテキストは、SCardEstablishContextを
[in] szReader
ターゲット カードを含むリーダーの名前。
[in] dwShareMode
他のアプリケーションがカードへの接続を形成できるかどうかを示すフラグ。
[in] dwPreferredProtocols
接続で許容されるプロトコルのビットマスク。 指定できる値は、OR 操作と組み合わせることができます。
価値 | 意味 |
---|---|
|
T=0 は許容されるプロトコルです。 |
|
T=1 は許容されるプロトコルです。 |
|
このパラメーターは、dwShareMode |
[out] phCard
指定されたリーダーで
[out] pdwActiveProtocol
確立されたアクティブなプロトコルを示すフラグ。
価値 | 意味 |
---|---|
|
T=0 がアクティブなプロトコルです。 |
|
T=1 がアクティブなプロトコルです。 |
|
プロトコル ネゴシエーションが発生しないように、SCARD_SHARE_DIRECTが指定されています。 リーダーにカードがない可能性があります。 |
戻り値
この関数は、成功するか失敗したかに応じて異なる値を返します。
リターン コード | 形容 |
---|---|
|
SCARD_S_SUCCESS。 |
|
エラー コード。 詳細については、「スマート カードの戻り値 を参照してください。 |
|
リーダーがカードに接続できませんでした。 |
備考
SCardConnect 機能は、スマートカード と リーダー アクセス機能です。 その他のアクセス機能の詳細については、「スマート カードおよびリーダー アクセス機能の」を参照してください。
例
次の例では、リーダーへの接続を作成します。 この例では、
SCARDHANDLE hCardHandle;
LONG lReturn;
DWORD dwAP;
lReturn = SCardConnect( hContext,
(LPCTSTR)"Rainbow Technologies SCR3531 0",
SCARD_SHARE_SHARED,
SCARD_PROTOCOL_T0 | SCARD_PROTOCOL_T1,
&hCardHandle,
&dwAP );
if ( SCARD_S_SUCCESS != lReturn )
{
printf("Failed SCardConnect\n");
exit(1); // Or other appropriate action.
}
// Use the connection.
// Display the active protocol.
switch ( dwAP )
{
case SCARD_PROTOCOL_T0:
printf("Active protocol T0\n");
break;
case SCARD_PROTOCOL_T1:
printf("Active protocol T1\n");
break;
case SCARD_PROTOCOL_UNDEFINED:
default:
printf("Active protocol unnegotiated or unknown\n");
break;
}
// Remember to disconnect (by calling SCardDisconnect).
// ...
手記
winscard.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SCardConnect を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winscard.h |
ライブラリ | Winscard.lib |
DLL | Winscard.dll |