ISCard::AttachByReader メソッド
[ AttachByReader メソッドは、 [要件] セクションで指定されたオペレーティング システムで使用できます。 Windows Server 2003 Service Pack 1 (SP1) 以降、Windows Vista、Windows Server 2008、およびそれ以降のバージョンのオペレーティング システムでは使用できません。 スマート カード モジュールも同様の機能を提供します。
AttachByReader メソッドは、名前付きリーダーでスマート カードを開きます。
構文
HRESULT AttachByReader(
[in] BSTR bstrReaderName,
[in] SCARD_SHARE_MODES ShareMode,
[in] SCARD_PROTOCOLS PrefProtocol
);
パラメーター
-
bstrReaderName [in]
-
スマート カード リーダーの名前を含む BSTR。
-
ShareMode [in]
-
スマート カードへのアクセスを要求するモード。
値 説明 - 排他的
スマート カードへのこの接続を他のユーザーが使用することはありません。 - 共有
他のアプリケーションでは、この接続を使用できます。 -
PrefProtocol [in]
-
推奨されるプロトコル値。
-
T0
-
T1
-
RAW
-
T0|T1
-
戻り値
メソッドは、次のいずれかの可能な値を返します。
リターン コード | 説明 |
---|---|
|
名前付きリーダーのスマート カードで開くが正常に完了しました。 |
|
関数に渡される 1 つ以上のパラメーターに問題があります。 |
解説
上記の COM エラー コードに加えて、このインターフェイスは、スマート カード関数が呼び出されて要求を完了した場合にスマート カード エラー コードを返す場合があります。 詳細については、「 スマート カードの戻り値」を参照してください。
リーダーの使用が完了したら、 ISCard::D etach メソッドを呼び出して添付ファイルを解放します。
例
次の例は、指定したスマート カード リーダーでスマート カードにアタッチする方法を示しています。
#include <windows.h>
#include <stdio.h>
#include <Scardmgr.h>
// The reader name is vendor specific; change as needed.
#define READER_NAME L"Vendor Reader 0"
void main()
{
BSTR bstrReader = NULL;
HRESULT hr;
bstrReader = SysAllocString(READER_NAME);
if (NULL == bstrReader)
{
// Error encountered.
exit(1);
}
// Connect to the reader.
hr = pISCard->AttachByReader(bstrReader, SHARED, T0);
if (FAILED(hr))
{
printf("Failed AttachByReader\n");
// Take other error handling action.
// ...
}
// Detach reader by calling ISCard::Detach (not shown).
// ...
// When done, free BSTR.
if (NULL != bstrReader)
SysFreeString(bstrReader);
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント |
Windows XP [デスクトップ アプリのみ] |
サポートされている最小のサーバー |
Windows Server 2003 [デスクトップ アプリのみ] |
クライアント サポートの終了 |
Windows XP |
サーバー サポートの終了 |
Windows Server 2003 |
ヘッダー |
|
タイプ ライブラリ |
|
[DLL] |
|
IID |
IID_ISCardは 1461AAC3-6810-11D0-918F-00AA00C18068 として定義されています |
関連項目