SCardIntroduceCardTypeA 関数 (winscard.h)
SCardIntroduceCardType 関数は、スマート カード データベースに追加することによって、スマート カード サブシステム に スマート カード を導入します (アクティブ ユーザーの場合)。
構文
LONG SCardIntroduceCardTypeA(
[in] SCARDCONTEXT hContext,
[in] LPCSTR szCardName,
[in, optional] LPCGUID pguidPrimaryProvider,
[in, optional] LPCGUID rgguidInterfaces,
[in] DWORD dwInterfaceCount,
[in] LPCBYTE pbAtr,
[in] LPCBYTE pbAtrMask,
[in] DWORD cbAtrLen
);
パラメーター
[in] hContext
リソース マネージャー コンテキストを識別するハンドル。 リソース マネージャー コンテキストは、SCardEstablishContextを
[in] szCardName
ユーザーがカードを認識できる名前。
[in, optional] pguidPrimaryProvider
スマート カードの プライマリ サービス プロバイダーの識別子 (GUID) へのポインター。
[in, optional] rgguidInterfaces
スマート カードでサポートされているインターフェイスを識別する識別子 (GUID) の配列。
[in] dwInterfaceCount
rgguidInterfaces 配列内の識別子の数。
[in] pbAtr
スマート カード データベースのクエリを実行するときに照合目的で使用できる ATR 文字列 を
[in] pbAtrMask
スマート カードの ATR と pbAtrで提供される ATR
[in] cbAtrLen
ATR の長さとオプションの ATR マスク。 この値が 0 の場合、ATR の長さは通常の ATR 解析によって決定されます。 pbAtr 値が指定されている場合、この値を 0 にすることはできません。
戻り値
この関数は、成功するか失敗したかに応じて異なる値を返します。
リターン コード | 形容 |
---|---|
|
SCARD_S_SUCCESS。 |
|
エラー コード。 詳細については、「スマート カードの戻り値 を参照してください。 |
備考
この関数はリダイレクトされませんが、リモート デスクトップ セッション内で関数を呼び出してもエラーは発生しません。 これは、結果がローカル コンピューターではなくリモート コンピューターからの結果であることを意味するだけです。
SCardIntroduceCardType 関数は、データベース管理機能です。 その他のデータベース管理機能の詳細については、「スマート カード データベース管理機能の
スマート カードを削除するには、SCardForgetCardType
例
次の例は、カードの種類を導入する方法を示しています。 この例では、hContext が、SCardEstablishContext 関数への以前の呼び出しから取得した有効なハンドルであることを前提としています。
GUID MyGuid = { 0xABCDEF00,
0xABCD,
0xABCD,
0xAA, 0xBB, 0xCC, 0xDD,
0xAA, 0xBB, 0xCC, 0xDD };
static const BYTE MyATR[] = { 0xaa, 0xbb, 0xcc, 0x00, 0xdd };
static const BYTE MyATRMask[] = { 0xff, 0xff, 0xff, 0x00, 0xff};
LONG lReturn;
lReturn = SCardIntroduceCardType(hContext,
L"MyCardName",
&MyGuid,
NULL, // No interface array
0, // Interface count = 0
MyATR,
MyATRMask,
sizeof(MyATR));
if ( SCARD_S_SUCCESS != lReturn )
printf("Failed SCardIntroduceCardType\n");
手記
winscard.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SCardIntroduceCardType を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。
必要条件
要件 | 価値 |
---|---|
サポートされる最小クライアント | Windows XP [デスクトップ アプリのみ] |
サポートされる最小サーバー | Windows Server 2003 [デスクトップ アプリのみ] |
ターゲット プラットフォーム の |
ウィンドウズ |
ヘッダー | winscard.h |
ライブラリ | Winscard.lib |
DLL | Winscard.dll |