連載
» 2014年11月14日 11時00分 公開

Windows 8 デバイスドライバ開発入門(3):「Windowsハードウェア認定」があなたの製品の価値を上げる(前編) (3/3)

[橋口友美(サイエンスパーク),MONOist]
前のページへ 1|2|3       

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”が定義されています。

 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”が記載されています。

Windows Server Catalog (Server OS)

http://windowsservercatalog.com/


 ということですので、まずは、デバイスをテスト環境に接続してみましょう。

 例えば、HCKクライアントにUSB接続のスマートカードリーダを接続すると、HCKサーバー上のHCK Studioに、以下のような画面が表示されます。

photo スマートカードリーダをHCKクライアントに接続した時、HCKサーバ上のHCK Studioに表示される画面

 画面右側を見ると、“Product Type”という項目がありますが、ここに“Smart Card Reader”と表示されていることが分かります。

 左側には、Product Type =“Smart Card Reader”の場合に、必要な項目が自動で表示されます。この例では、表示されたテスト項目にすべて合格することで、ハードウェア認定を取得することができます。

 後編では、この“Product Type”が表示されない場合の対処法、ハードウェア認定テストの実施など、引き続き、Windowsハードウェア認定の流れを追っていきます。

Windows Embedded コーナー

Windows Embeddedコーナー
Windows Embedded専門コーナー。Windows Embedded StandardやWindows Embedded Compactをはじめとする「Windows Embedded」ファミリの最新動向や技術情報をお届けします!!

>>コーナーTOPはこちらから


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.