This appendix presents the detailed checklist of requirements in support of the Windows Logo Program requirement WL-4: "All components and devices meet Windows compatibility and quality design guidelines."
The current versions of these requirements are provided on http://www.microsoft.com/winlogo/hardware/
Note that testing for all Windows versions must also include logs for Windows XP/Windows Whistler Server, even if the specific “Designed for Windows” you are seeking does not target Windows XP or Windows Whistler Server.
Requirements apply for all of the following tested operating systems unless otherwise indicated:
Windows XP Home Edition (32-bit)
Windows XP Professional (64-bit and 32-bit)
Windows Whistler Server (64-bit and 32-bit)
Windows 2000 Server and Professional (32-bit)
Windows Millennium Edition
Windows 98 Second Edition
Conventions Used in This Document
How to Use the Appendixes
B1.0 General Device and Driver Quality
All devices must comply with these general requirements for device and driver compatibility and quality.
Legacy Plug and Play Guidelines
B1.2.4 Each device or connection meets requirements for its bus class
B1.3 General Device/Driver - Quality
WHQL Test Specification References: Chapter 1, Introduction to HCT Test Specifications
Chapter 3: ACPI Test Specification
Chapter 22: Driver Quality Test Specification
Plus technology-specific test specifications
B1.3.1 Hardware and its drivers pass Windows Logo Program testing
All hardware and associated drivers must be submitted to the appropriate WHQL test program and passes all testing for the Windows Logo Program for hardware:
Windows XP: Pass tests in HCT 10.0 (or later), as described in detail in the WHQL Test Specification and the Microsoft Windows Hardware Compatibility Test Kit 10.0 documentation.
Windows Me: Pass tests in HCT 9.6, as described in the HCT documentation.
Windows 2000, Windows 98, Windows NT 4.0: Pass tests in HCT 9.502, as described in the HCT documentation.
B1.3.2 Windows XP/Windows 2000: Vendor-supplied drivers pass Driver Verifier test
B1.3.3 Device driver installs via an INF; tested via INFCatReady.exe
Windows XP/Windows 2000: "Creating an INF File" in the Windows DDK.
Windows 98/Me: "Installers, Device Manager, and Control Panel" in the Windows Me DDK.
B1.3.4 Vendor-supplied drivers have digital signatures
Requirements for digital signatures are defined at http://www.microsoft.com/hwdev/desinit/digitsign.htm.
WHQL guidelines and processes for digital signatures are defined at http://www.microsoft.com/hwtest/signatures/.
B1.4 General Device/Driver - Windows Experience
Design Guideline References: PC 2001 System Design Guide - Chapter 3, “PC System” -
Hardware Design Guide 3.0 for Windows 2000 Server, Chapter 2 -
B1.4.1 Device can be enumerated and automatically disabled
[SYS-0027, SYS-0029.3; SDG3:17]
Device ID is present, device is properly enumerated, and correct driver is found; device can be disabled automatically by Windows.
(see additional notes in specific device-class requirements).
B1.4.2 Software does not replace or bypass system components
Driver or software installation must not replace any Microsoft-authored operating system components, and the driver must not bypass any operating system components.
Windows XP: Notice that each Windows XP/Windows Whistler Server product has a unique set of files protected under system file protection; for information about operating system files protected in Windows XP, see SfcGetNextProtectedFile and SfcIsFileProtected APIs in the Microsoft Platform SDK.
If the manufacturer’s INF copies any files supplied by the operating system, those files must be copied from the Windows product disk (or preinstalled source files), unless the component is a licensed, redistributable component.
Driver must not use initialization files (INI) for configuration settings.
B1.4.3 Installing and loading the driver does not reduce or eliminate functionality of other devices installed on the system
B1.4.4 Device is functional without restarting the system
Device installation does not cause the system to stop running or reboot (unless reboot is required by the operating system) without user interaction.
B1.4.5 Device and driver comply with ACPI and power management specifications
Device and driver comply with ACPI specification, Default Device Class Power Management Reference Specification, and other relevant device class power management specification
(see additional notes in specific device-class requirements).
Windows 2000/Windows Me: Graphics adapter and all other devices correctly implement D3 state such that the operating system can correctly hibernate and resume from all sleep states supported on the system.
Any PCI devices that support wakeup capabilities correctly support wake from D3cold.
Network adapters installed in mobile PCs, servers, and other special cases are not required to support wakeup, see B18.104.22.168 for details.
Windows XP client: Uniprocessor desktops that run Windows XP are required to support S3; therefore, every device must be tested on an S3-compliant system to verify that the device allows the system to successfully enter and resume from the S3 sleep state.
The device must be fully functional upon resume from S3.
B1.4.6 Driver supports unattended installation
It must be possible to install the driver using a script or special software for supplying required parameters without the user being present during driver installation.
B1.4.9 Device has an icon on any external connectors
Color-coding is not required. [see FAQ A1.5.9]
B1.4.10 Any supporting software included with the device is installed using Windows-based installation methods, without any manual steps or file editing
All software used for installing device support or that runs with the device must be 32-bit or 64-bit Windows-based applications; no console applications (16-bit or 32-bit) are allowed.
[see FAQ B1.5.2]
B1.4.11 Software installed as part of device driver installation can be removed using Windows-based software
At a minimum, any "virtual drivers" and software components (such as control panel applets) installed with the driver must be capable of being removed.
B1.5 General Device/Driver - FAQs
B1.5.1 Current general FAQ
B1.5.2 Windows 98/Me: Display Class and Other 16-bit Windows Software [Clarification]
A 16-bit Windows device driver or application must not load Setupx.dll every time the driver is loaded. Besides wasting memory, this exposes a problem when another application calls Setupx.dll, causing an invalid temp folder to be returned and prompting the user for an installation location. Testing at Microsoft has revealed this problem with display adapter drivers, some modem drivers, and some applications installed with drivers, such as status utilities that appear in the System Tray.
For Windows 98/Me, see ”Graphics Device Interface” in the Windows Me DDK documentation for information about implementing driver setup functions in a separate installer to be used only during installation, instead of containing setup functions in the driver itself.
This clarification is related to the Windows Logo Program requirement that installation and loading of a driver must not interfere with other components on the system. As of July 1, 2000, this is part of Windows Logo Program compliance testing.
FAQ date: December 22, 1999
B1.R General Device/Driver Quality - Future Requirements
Announcement of additional future requirements will be published at http://www.microsoft.com/winlogo/hardware/general/.
B1.R.1 Applications meet "Designed for Windows XP Application Specification" requirements
If a retail device product included any additional standalone software that was not tested with the device submission (for example, a printer that ships with a paint program), that software must meet the requirements for either the “Designed for Windows” Application Logo at http://www.microsoft.com/winlogo/software/ or the “Certified for Windows” logo at http://www.msdn.microsoft.com/certification if the product packaging is to display the “Designed for Windows” logo.