スマート カード ドライバー環境

次の図は、スマート カード リーダー ドライバーの標準環境を示しています。

diagram illustrating the standard environment for the smart card reader driver.

この図には他にも、スマート カード環境の次のコンポーネントが示されています。

  • アプリケーションは、スマート カード リソース マネージャーを使用してスマート カード リーダー ドライバーと通信します。 リーダー ドライバーはカーネル空間に存在し、スマート カード リソース マネージャーはユーザー空間に存在します。

  • リソース マネージャーは、DeviceIoControl システム呼び出しを使用してディスパッチされる I/O コントロールを使用してリーダー ドライバーと通信します。 DeviceIoControl システム呼び出しの使用方法については、Microsoft Windows SDK の DeviceIoControl トピックを参照してください。

    同様に、スマート カード対応アプリケーションは、DeviceIoControl を使用してスマート カード リーダー ドライバーに命令を送信でき、オペレーティング システムは指定された IOCTL をリーダー ドライバーに転送します。 リーダー ドライバーが WDM ドライバーの場合、オペレーティング システムは I/O 要求パケット (IRP) を使用して要求を転送します。

  • Microsoft は、1 つのリーダー ドライバー サンプル、すなわち、PCMCIA スマート カード リーダーのドライバーである pscr.sys を提供しています。 このドライバーのソース コードは、WDK サンプルのコレクションで入手できます。 詳細については、PCMCIA スマート カード ドライバーを参照してください。 スマート カード リーダー デバイスのベンダーは、システム提供のリソース マネージャーとスマート カード ドライバー ライブラリで動作するように設計されたドライバーを提供する必要があります。

  • スマート カード ドライバー ライブラリ」のセクションで説明されているように、ネイティブのリーダー ドライバーとベンダー提供のリーダー ドライバーのどちらも、スマート カード ドライバー ライブラリを使用して、その主要な操作の多くを実行する必要があります。