「Windowsハードウェア認定」があなたの製品の価値を上げる(前編):Windows 8 デバイスドライバ開発入門(3)(3/3 ページ)
Windows 8対応のデバイスドライバを開発する際に、“知っておくと便利なポイント”を実践的な観点から紹介する連載「Windows 8 デバイスドライバ開発入門」。今回は、「Windowsハードウェア認定」について、実践的な観点から説明していきます。
2.ハードウェア認定を受けるために必要となる「要件」を確認する
要件を確認するとは何のことなのでしょうか?これはつまり、「ハードウェア認定を受けるために達成すべきゴールを見極める」ということです。
ハードウェア認定を受けるためには、必ずHCKテストを実施して、全ての項目に合格する必要があります。テストは、以下3つのタイプに分類できます。
(1) 全てのデバイスやドライバの作りに共通する基本的な機能のテスト
(2) 特定のバスやプロトコルが正常に動作するために必要となる機能のテスト
(3) 特定の製品がWindowsと相互にやり取りするために必要な機能のテスト
まず(1)についてですが、これにはドライバのインストールやPnP、電源管理機能のテストが含まれます。また、ドライバをKMDF (Kernel Mode Driver Framework)を使用して開発している場合は、KMDFが提供するDDI(Device Driver Interface)に関するテストなども含まれます。
次に(2)についてですが、これは全てのUSBデバイスに共通するテスト、また、全てのPCIデバイスに共通するテスト、というように、バスやプロトコルごとに、規格で定められている内容に関するテストが該当します。
そして最後の(3)についてですが、これは、製品の種類ごとにマイクロソフトが定義しているインタフェースに関するテストで、「“Product Type”に依存するテスト」と言い換えることができます。“Product Type”とは、各製品が持つ特性(製品ごとにマイクロソフトが推奨するドライバモデルや、その製品が、Windows OSとデータのやり取りをするために必要となるインタフェースなど) の集合体を指すもので、あるデバイスの持つ特性を何らかの方法で全て抽出できれば、それがどのような“Product”であるかを導き出せる。という理論に基づいて定義されています。
以下のMatrixに、具体的な“Product Type”が定義されています。
[Product Type Matrix]≫(Zipファイル)
Matrixを見て、これから認定を受けようとしている製品に該当する“Product Type”が分かれば、問題ありません。しかし、一体何に該当するのか、パッと見では分からないケースもあると思います。そのような場合でも大丈夫です。
テスト対象が「デバイス」の場合、「1. ハードウェア認定テストの実行環境を構築する」でHCKテストの実行環境を構築し、HCKクライアントにデバイスを接続することで、(ベンダー独自のドライバが必要な場合はインストールしておきます)、テストツールが自動でデバイスが持つ特性を検出し、“Product Type”を判別してくれるのです。また、検出した“Product Type”で認定を受けるために必要となるテスト項目も、ツールが自動で表示してくれます。
この自動検出機能はHCKに備わる大変便利な機能です。WLK1.6 (Windows Logo Kit 1.6)以前は、テスト実施者が、自身で認定に必要となるテスト項目を選択する必要がありました。
ハードウェア認定を受けるためには、必ずこの“Product Type”を決める必要があります。なぜなら、認定基準の1つに、特定の“Product Type”に属する製品が、Microsoftが定める「“Product Type”ごとの、Windows OS上で安全に動作するためのあるべき姿」に沿って、開発されているかどうかを検証する。というものがあるからです。
そのため、“Product Type”が決まらないと、そこを検証できません。
以下の URL にて、どのような製品がどのような“Product Type”で認定を受けているか、確認することができますので、参考にしてください。ハードウェア認定を受けている製品は、必ずいずれかの”Product Type”に紐付いていることがわかると思います。
Windows Certified Products List (Client OS)
https://sysdev.microsoft.com/en-US/Hardware/LPL/default.aspx
上記ページは、Windowsクライアント製品用のページとなります。Windowsサーバ製品用は以下のURLを参照してください。認定を受けたプロダクトをクリックし、"Submission"を選択すると、PDFファイルが開かれます。その中に、“Product Type”が記載されています。
ということですので、まずは、デバイスをテスト環境に接続してみましょう。
例えば、HCKクライアントにUSB接続のスマートカードリーダを接続すると、HCKサーバー上のHCK Studioに、以下のような画面が表示されます。
画面右側を見ると、“Product Type”という項目がありますが、ここに“Smart Card Reader”と表示されていることが分かります。
左側には、Product Type =“Smart Card Reader”の場合に、必要な項目が自動で表示されます。この例では、表示されたテスト項目にすべて合格することで、ハードウェア認定を取得することができます。
後編では、この“Product Type”が表示されない場合の対処法、ハードウェア認定テストの実施など、引き続き、Windowsハードウェア認定の流れを追っていきます。
Windows Embedded コーナー
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Windows 8 デバイスドライバ開発入門(2):知っておくと便利な「Visual Studio 2012」によるドライバのトラブルシューティング
Windows 8対応のデバイスドライバを開発する際に、“知っておくと便利なポイント”を実践的な観点から紹介する連載「Windows 8 デバイスドライバ開発入門」。第2回では、デバイスドライバのトラブルシューティングついて取り上げる。 - Windows 8 デバイスドライバ開発入門(1):知っておくと便利な「Visual Studio 2012」によるテスト署名
Windows 8対応のデバイスドライバを開発する際に、“知っておくと便利なポイント”を実践的な観点から紹介する連載「Windows 8 デバイスドライバ開発入門」。第1回では、Windows 8のデバイスドライバ開発における導入知識とテスト署名の方法について取り上げる。