SampleCredentialProvider のビルド
CredentialProvider 開発のとっかかりとして、Microsoft が公開しているサンプル をビルド・実行して感触をつかむのがお薦めです。今回は、サンプルをビルドするための環境づくりについて簡単に説明いたします。
環境
Credential Provider の開発に必要なものは次の2つです。
- Visual C++ 2005 (2003 は不可)
- Windows SDK (Platform SDK ではなく Windows SDK)
VC++ 2003 でビルドできないのは、Windows SDK が VC++ 2005 以降のバージョンを必須としているためです。VC++ 2005 であれば、Express Edition でもビルドできることを確認しています。
VC++ 2005 と Windows SDK が準備できたら、インクルードとライブラリの設定をしておきましょう。
- Visual C++ を起動し、メニューから [ツール]->[オプション] を選びます。
- 左側のツリーで [プロジェクトおよびソリューション]->[VC++ ディレクトリ] を選択します。
- [プラットフォーム] は [Win32] を選択します。[ディレクトリを表示するプロジェクト] は [インクルード ファイル] を選択します。
- Windows SDK の Include ディレクトリを一番上に追加します。標準のインストール先は C:\Program Files\Microsoft SDKs\Windows\v6.0\Include です。
- 同じように、ディレクトリを表示するプロジェクトとして [ライブラリ ファイル] として Windows SDK の Lib ディレクトリを一番上に追加します。標準のインストール先は C:\Program Files\Microsoft SDKs\Windows\v6.0\Lib です。
ビルド
環境が整ったところで Microsoft が公開しているサンプル をビルドします。5つのサンプルがありますが、一番分かりやすい SampleCredentialProvider をビルドしてみましょう。
SampleCredentialProvider.sln を VC++ 2005 で開き、メニューから [ビルド]->[バッチビルド] を選びます。あらかじめ4つのビルド方法が定義されていますが、今回は [Release|Win32] をチェックして [ビルド] ボタンを押します。

ビルドが成功すると、下の [出力] に [1 正常終了、0 失敗] と表示され、Release フォルダに SampleCredentialProvider.dll が生成されています。

導入
SampleCredentialProvider.dll を Vista の system32 にコピーします。次に、SampleCredentialProvider\Register.reg ファイルを Vista で実行して、必要なレジストリを設定します。
以上で導入は終わりです。Vista でログオフしてみると、次のように Administrator と Guest という2つのアイコンが表示されます。Administrator アカウントが存在すれば、実際にこのアイコンをクリックしてログオンすることもできます。

サンプル中の "Windows Vista Credential Provider Samples Overview UPDATE.doc" が大変よくまとまっているので、このドキュメントを参考にしながら開発を進めていくとよいでしょう。このブログでも引き続き、CredentialProvider について説明していく予定です。

