次の方法で共有


ベンダー ラッパー サービス プロバイダー

ベンダー ラッパーの目的は、特定のスマート カードに対して低レベルの COM インターフェイス (スマート カード製造元が提供) をカプセル化して使用することです。 これらのインターフェイスは、Microsoft によって提供されていません。

ベンダー ラッパー

ICC およびパーソナル コンピューター システムの 相互運用性仕様のパート 6 で説明されているように (https://pcscworkgroup.comの仕様を参照)、このラッパーによって公開される機能は、4 つの個別のサービス プロバイダーの機能よりも使いやすいです。 ラッパーの機能は、次の 4 つの主要な領域に分けることができます。

  • チャレンジやカード認証などのスマート カード認証サービス。
  • スマート カード ファイル アクセスまたはファイル システム サービス (開く、閉じる、読み取り、書き込みなど)。
  • 取り付けや取り外しなどのスマート カード管理。
  • コードの確認や変更などのスマート カード検証サービス。

手記

この仕様は、一部の言語および国または地域では使用できない場合があります。

 

この機能は、使用されるカードの種類 (カードがサポートする機能、プロトコルなど) に固有であり、カードごとに異なります。

Microsoft SCardCOM サンプル ラッパーでは、ATL COM ライブラリを使用して単純なラッパーを実装し、他のラッパー用のテンプレートをレイアウトします。 次のインターフェイスを実装します。

インターフェイスまたはオブジェクト 形容
ISCardAuth
認証サービス。
ISCardFileAccess
ファイル システム サービス。
ISCardManage
管理サービス。
ISCardVerify
検証サービス。

 

手記

SCardCOM の例は、ラッパー インターフェイスを実装する例としてのみ提供されます。 他のベンダーとの DLL 名の競合を防ぐには、作成する DLL の名前として SCardCOM.dll を使用しないでください。

 

ベンダー ラッパーの一般的な使用方法を次に示します。 この例では、ISCardManage インターフェイスを使用して、サービス プロバイダーと ISCardVerify インターフェイスにラップされるインターフェイスのインスタンスを作成し、その操作を確認します。

ラッパー サービス プロバイダーの を構築するには

  1. ISCardManage インターフェイスのインスタンスを作成します。 このインターフェイスを使用して、必要なインターフェイスのインスタンスを作成します (ISCardFileAccessや ISCardVerifyなど)。 これらのインターフェイスを作成すると、対応する下位レベルの COM インターフェイスも作成されます。
  2. 適切な ISCardManage メソッドを使用してカードをアタッチまたは接続します。
  3. 適切な ISCardVerify メソッドを使用して必要な操作を実行します (複数の低レベルの COM インターフェイスとメソッドを呼び出して完了する場合があります)。
  4. 他の操作に対して繰り返します。
  5. 完了したらリリースします。

COM インターフェイス名とインターフェイス識別子 (GUID) は、コードまたはサンプル ラッパーで使用されているものから変更しないでください。 ただし、クラス GUID (つまり、インターフェイスの実際の実装が存在する場所) は、使用されているものから変更する必要があります。 これは、ベンダー ラッパーを実装する場合に特に重要です。 1 つの例として、特定のコンピューターで複数のベンダー ラッパーを使用します。 これらのラッパーは同じ COM インターフェイスを実装する必要がありますが、常に異なる実装戦略を使用します。 そのため、異なるクラス (およびクラス ID) が必要です。