What’s New for Hardware Certification Kit 2.0 ?

The Windows Hardware Certification Kit (HCK) introduced with Windows 8 significantly improves and enhances the functionality of Windows Logo Kit 1.6. The key improvements include:

New certification taxonomy
Windows Hardware Certification Kit (HCK) uses a new taxonomy to organize features and requirements, organized by feature namespace, rather than the previous categories and subcategories used in the previous Windows Logo Kit (WLK). For example, Device.Audio.APO.Base.MicArrayRawData defines an audio requirement for APO.

Updated certification requirements
Review the updated
certification requirements to ensure your products and drivers take full advantage of Windows 8. These requirements are derived from end user scenarios and ensure that tests map to requirements with clearly articulated value.

Renewed certification policies and processes
For updated guidelines on certification testing policies, product submission, and business requirements, see
Windows Certification Program Policies and Guidelines.

Simplified feature-based detection
Windows HCK testing is based on automatic test identification logic feature detection. The test harness detects all of the features of the device that interoperate with Windows and schedules testing for all implemented features. The certification process evaluates all of the exposed features of the device, rather than only a subset of features.

User experience enhancements tailored for the certification workflow
Windows HCK Studio is a completely new test management console. The modern designs allows you to organize your tests into projects, view features and tests associated with your device, run selected tests with real-time updates on test progress, and create a submission package. HCK Studio supports a package mode that allows you to view and merge submission packages. HCK Studio also provides context-sensitive help for each test job.

Comprehensive automation
HCK API for Windows 8 enables you to automate some or all of the certification test process. The API exposes all of the functionality of HCK Studio, so you can use both HCK Studio and automation in your certification workflow. The HCK API supports any Microsoft .NET Framework version 4.0 (and higher) programming language (example: C# and Windows PowerShell).

Modern setup and servicing
The HCK has a modern setup experience that is consistent with other hardware development kits and tools used during the driver development lifecycle. QFEs are integrated using a slipstream model and do not need to be individually downloaded.

Multiple tools integrated
Packaging and signing is part of the core workflow of HCK Studio, and the separate tools WST (Winqual Submission Tool) and signtool.exe file are no longer needed. A separate logviewer.exe tool is no longer necessary, because packaging files can be opened directly in HCK Studio.

Enhanced logging, diagnostics, and scoring
The HCK logs into the Windows Event Viewer, providing more detailed information on errors and operations.

Improvements to the program
DashBoard service , new sysdev resources improves the user experience in the logo program

Source: http://msdn.microsoft.com/en-US/library/windows/hardware/hh852379

Windows Hardware Certification Kit 2.0

Consistent with Windows 8, Microsoft has reimagined the process of certifying hardware. Microsoft has streamlined the user interface and introduced automatic feature detection, which determines the certification tests to run for a submitted system or device. Because Windows 8 offers comprehensive automation interfaces, Microsoft has been able to eliminate the need for separate tools, such as the WLK Log Viewer.

The Windows HCK 2.0 provides User the tools, processes, and tests to create and upload submission packages to the Windows Dev Center Hardware Dashboard to certify User devices and systems.  The current Windows Logo Kit (WLK 1.6 ) will continue to be available for a limited time for down-level testing.

HCK 2.0 Testing Concepts

The new Windows HCK uses a different method to determine which tests to run. The Windows HCK identifies the features of the product under test and generates a list for the tester. To properly evaluate the kit, User will need to understand some new terms and concepts:
Feature: A feature is a capability exposed by a device. After the tester selects a system or device, the kit detects its features using gatherers. The list of detected features is stored on the controller, the server that manages the test environment. Features are represented in a name space that is shared by all components of our certification system and publishing mechanisms. Some examples include Device.Graphics.WDDM12, System.Client.BluetoothController.Base, and Filter.Driver.Network.LWF. 

Requirement: A requirement is the written document that specifies what a device must do to qualify for Windows Hardware Certification. Within the namespace, requirements are children of features. For example, Device.Imaging.Scanner.Base.RawFileFormat is a requirement for the feature Device.Imaging.Scanner.Base. Hardware certification requirements are published on the Windows Dev Center at the following location: Windows 8 Hardware Certification Requirements. 

Tests: Tests validate that the features are implemented on the product per the requirements. Each test has a pointer to the requirement(s) it validates. 

Product Type: Replacing the old self-selection category system, the new certification program uses Product Types, which are certifiable products that uniquely match to a list of testable features. To receive Windows Hardware Certification, a product must implement all of the features of at least one Product Type. For example, to qualify as a Product Type WLAN, Userr device must at least implement the features that are included in the WLAN product type definition.

Another Major change is the HCK 2.0 Dashboard.  You can certify your devices and software for the Microsoft logo in HCK Dashboard and take advantage of other services. The Hardware Certification Dashboard replaces Windows Quality Online Services (Winqual).

Introduction to Driver Test Manager

Driver Test Manager (DTM) is a collection of software components that provide a harness to run tests to obtain a “Designed for Windows” logo for your driver. DTM reduces the work-load on testers by automatically distributing tests to available computers.

DTM enables you to test your drivers on more computers and with greater ease than manually reconfiguring computers on which to run the logo tests. With DTM, whenever a computer becomes idle, it can be automatically scheduled to run further tests. Meanwhile, testers can monitor the progress of a test while the test is running. DTM increases testing coverage for your driver, reduces tester overhead, and speeds the process to obtain a Windows logo.

In addition, DTM provides a powerful feature that enables a tester to create custom tests to further exercise a driver to determine how it performs and the cause of driver failures.

Driver Test Manager Components

DTM is divided into the following components:

DTM clients are computers that run tests. You should have as many client computers with as many different configurations as possible so that your driver can be tested under the widest variety of real-world conditions. Clients should have different hardware and software configurations and different operating systems and service packs installed.

DTM controllers are computers that control what tests run on DTM clients and when those tests run. Controllers host a SQL database that stores tests to be run and the results of previous tests for review and future use.

DTM Studio is the application and user interface testers use to create and schedule tests and otherwise manipulate controllers and clients. DTM Studio enables you to organize the computers in your lab into the appropriate environment to test your driver.

General DTM Concepts

DTM operates on jobs. Jobs are comprised of groupings of individual tasks, such as open a file, save a file, then close the file.You use DTM Studio to schedule jobs for a controller to execute on an available client. The controller will schedule a client to execute a job only if the client meets the job’s requirements, such as a specific display adapter or minimum amount of system memory.

Controllers continually schedule jobs to execute on client computers. When a client executes a job (whether the job passes or fails), the results of the job are stored back to a controller. The controller can then schedule the client to run another test. You can then examine the job results in DTM Studio to determine the source of any failures.

Testers can leverage a greater number of clients and increase a driver’s testing coverage with DTM because multiple testers can use DTM Studio (from their respective computers) to create and schedule jobs. Controllers then handle distributing jobs from multiple testers automatically to clients as clients become available.


You can use DTM in a small lab environment, comprised of a minimum of two computers, or you can use DTM in large labs with dozens of computers.

When you set up and configure DTM, you will need to allocate at least one computer on which to install the DTM controller. You can allocate up to 100 clients per controller. However, for performance reasons, Microsoft recommends that you allocate no more than 30 clients per controller.

For example, in a small lab, each tester could be allocated 5 to 10 computers on which to test a driver. One of those computers becomes a controller, one of them the tester installs DTM studio on, and the others become clients. In larger labs, you can allocate dozens of clients to a controller. Each tester should install DTM Studio on his primary work computer. Then, testers can work together to create and schedule jobs for the drivers that they are responsible for testing by using all the clients available in the lab, and letting the controllers schedule what tests to run on which clients. Then, testers can share the task of reviewing job results from their primary work computers.