次の方法で共有


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

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

ベンダー ラッパー

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

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

Note

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

 

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

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

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

 

Note

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

 

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

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

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

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