WHQL test signature program — Windows drivers
- 2 minutes to read
The Windows Hardware Quality Labs (WHQL) test signature program supports test-signing of drivers that will subsequently be submitted for a WHQL release signature. Independent hardware vendors (IHVs) that participate in this program can submit driver packages to be test-signed.
Install a driver from a WHQL test-signed driver package by following these steps:
To install the test-signed driver correctly, secure boot must be disabled on the computer. See Disable Secure Boot.
The testsigning boot configuration option must be set on the test computer. See Setting the testsigning boot configuration option.
Once rebooted, system will display a watermark in the bottom right corner of the screen indicating test mode, the Windows SKU, and Windows build information.
Install the driver that was test-signed by the Hardware Developer Center (HDC).
For information about how to obtain a WHQL test signature, send email to [email protected] and include «Test Signature» in the subject line.
Disable Secure Boot
If BitLocker is enabled on the boot disk it needs to be suspended before disabling secure boot in UEFI. For more information, see Suspend BitLocker protection for non-Microsoft software updates.
Secure boot must be disabled to install the WHQL test certificate. For more information, see Disabling Secure Boot.
Setting the testsigning boot configuration option
The Microsoft Test Root Authority is accepted when test-signing is enabled by setting the testsigning boot configuration option on the computer in which the test-signed driver package is to be installed. This option is enabled by following these steps:
Open an elevated command prompt window. To open an elevated command prompt window, create a desktop shortcut to cmd.exe, select and hold (or right-click) the cmd.exe shortcut, and select Run as administrator.
In the elevated command prompt window, run the following commands to configure for test signed drivers and reboot the system:
bcdedit /set testsigning on shutdown /r /t 00
View all page feedback
Radeon™ Vulkan® Drivers Version Table
A handy table listing the equivalent versions of Vulkan®, Windows® Store, and internal drivers for each Radeon™ Software Adrenalin driver release.
Want more information about this table?
|Adrenalin Release||WHQL or Optional||Internal Driver||Windows® Driver Store Version
|Preview Driver May 2022||Optional||22.10.01.03||30.0.21001.3006||2.0.220|
So as a developer writing something using Vulkan®, how do you map between the AMD GPU driver that the users of your games have installed, and our versioned Vulkan component in that driver?
What we’ve come up with is a machine-readable mapping that you can integrate into your software, plus this page here with this handy table that we’ll keep updated whenever a new driver version shows up.
To find out more, read our Decoding Radeon™ Vulkan® versions tutorial to your right:
Decoding Radeon™ Vulkan® versions
A guide to using our machine-readable mapping that you can integrate into your software for decoding Radeon™ Vulkan® versions.
Machine Readable XML
More Vulkan® content on GPUOpen
AMD Open Source Driver for Vulkan®
The AMD Open Source Driver for Vulkan® is an open-source Vulkan driver for AMD Radeon™ graphics adapters on Linux®.
Developing Vulkan® applications
Discover our Vulkan blog posts, presentations, samples, and more. Find out how we can help you create and optimize your Vulkan applications!
Vulkan® gives software developers control over the performance, efficiency, and capabilities of AMD Radeon™ GPUs and multi-core CPUs.
Vulkan® Memory Allocator
VMA is our single-header, MIT-licensed, C++ library for easily and efficiently managing memory allocation for your Vulkan® games and applications.
Driver Management Methods | Windows IT Pro/RE
Let’s continue our analysis of working with drivers, begun in the article «The human face of the driver», published in Windows IT Pro / RE ? 5 for 2007, and let’s try to figure out how drivers can be managed and which programs and methods should be used.
Let’s continue our analysis of working with drivers, which began in the article «The human face of a driver», published in Windows IT Pro / RE No. 5, 2007, and try to figure out how drivers can be managed and which programs and methods should be used.
First of all, you need to find out which drivers are installed on the system, which ones are currently loaded, and which ones can be loaded. The first and easiest way to find out is with the msinfo32 utility. The driver list window displayed by this utility is shown in Figure 1.
This utility is a kind of wrapper for WMI mechanisms, with the help of which it collects data. In this case, you can see the drivers installed in the system and their important parameters such as the file name corresponding to the driver, startup type, current state, and much more. Unfortunately, this method is applicable only on the local system, and you will not be able to see which drivers are installed when connected to a computer over a network.
Oddly enough, it turns out that many well-known utilities have functionality that no one knows about. For example, the well-known device manager. It’s no secret that you can use it to find out which driver is responsible for which device. But in addition, you can see a list of drivers that do not meet the PnP requirements. To do this, in the «View» menu, select the «Show hidden devices» item, and the corresponding section will appear in the tree (see Screen 2).
This method is much more convenient than the previous one, since it allows you to get and view a list of drivers not only on the local system, but also on other computers on the network. However, not everything is smooth here either. It is the list of drivers and the sequence of their loading that you will not find here. In addition, it will take a lot of time to view all the systems on the network.
The next mechanism that helps us in solving the task is the sc.exe command line utility. This utility is also known as the service control manager (SCM), which also manages drivers. In our case, it can be used to get a list of drivers for both the local system and remote systems. With the appropriate rights, of course. A simple call to sc query type=driver will quickly get you what you’re looking for. This utility is very convenient and easy to use and, in addition, allows you to conduct a survey not only locally, but also over the corporate network. It is worth noting that in Windows NT 4.0, SCM had a graphical interface for managing drivers, and in subsequent versions it did not.
Now let’s touch on an extensive topic called WMI. First of all, in order to try WMI in action, you will need the WMI Toolkit, which can be found on the Microsoft website. In simple terms, WMI is a set of object classes that allow you to manage the operating system, as well as diagnose it (see Figure 3). In this article, we will touch on only two of them — these are Win32_SystemDriver and Win32_PrinterDriver. We need the latter for the reason that printer drivers are also drivers, and their enumeration is included in the tasks set at the beginning of the article, but they are user-mode drivers, and the Win32_SystemDriver class enumerates only kernel-mode drivers.
The Win32_SystemDriver class allows you to see all installed drivers, their current state, startup settings, and more, as well as stop, start, manage them if they support such actions. To view all drivers and related information, just run a simple WQL query:
select * from Win32_SystemDriver.
The Win32_PrinterDriver class describes installed printer drivers and stores information about installed printers and their drivers. It also provides methods for adding and managing new printers.
These classes can be used using cscript/wscript scripting engines. However, wmic has been introduced in Windows XP and Windows Server 2003 to simplify this process. So, to view the list of drivers on the local system, just enter the command on the command line
You will see a similar result. In addition, the output results can also be filtered, for example
wmic sysdriver get name, description
will display fields with the name and description of the drivers. The ability to execute a command on remote systems using just one /NODE switch is also very convenient. So, the same list on a remote system can be obtained as follows:
wmic /NODE:machine sysdriver
get name, description
With printers, the situation, unfortunately, is somewhat different. Using the wmic namespace, you can only get a list of printers and the driver name, since the printer alias is mapped to the win32_printer class. But there is a solution here too. The utility allows you to create a new alias and configure it to use any class and WQL query. In our case, I created an alias printerDrivers like this:
wmic alias create
target=»select * from
This alias knows everything it needs to know about the printer drivers installed on the system.
And the world of PowerShell
The next mechanism worth mentioning is PowerShell. It appeared relatively recently. This mechanism will be implemented in the future Windows Server 2008 server operating system, and distributions for existing systems can be found on the Microsoft website. PowerShell is, in a sense, an extended version of wmic. Although, of course, this comparison is somewhat rough, since this tool has a lot more features. From it, you can access WMI classes, COM objects, and .NET classes directly from a script or command line. In principle, to manage client systems, it is not necessary to install a shell on them. It is enough to install it on the administrator’s system. In our case, an example of getting a list of drivers using PowerShell technology is shown in Listing 1. This method is similar to using the wmic shell in that it also uses WMI to get the data.
It’s time to talk about very useful utilities from Mark Rusinovich, a well-known specialist in the Windows operating system. One of his utilities is Autoruns. This utility, which has both a graphical interface and a command line option, provides information not only about drivers, but also about all automatically launched modules. In this article, we will only touch on the drivers section. Here you can see the list of drivers available in the registry, as well as view the corresponding registry keys and driver settings. In addition, there is a special mode that will allow you to select Microsoft drivers and signed drivers (see Figure 4). These drivers may need to be replaced or at least checked with the Driver Verifier utility.
This utility will allow you to find out the order in which drivers are loaded by groups, determined by the Tag field in the corresponding registry keys of these drivers.
Drivers can be started and stopped if they support the appropriate capabilities. You can do this in several ways. The simplest one is using SCM:
Net stop and net start commands. For example, net stop beep & net start beep
sc utility: sc stop beep & sc start beep
A more complex method is WMI. In order to use it, you need to write more code. For example, using the wmic utility, you can perform the above operations like this:
wmic sysdriver where name=’beep’call PauseService
If you use PowerShell, it will be a little more difficult because you will have to work directly with the WMI classes. However, the general principle is clear enough. An example of usage in practice can be seen in Listing 2.
Now we have come close to the question of why, in fact, all this was started. One fine day, something happened to me, or rather to my computer. He suddenly refused to read discs in the DVD drive. After the reboot continued, but not for long. After digging around, I found out that the virtual drive driver was to blame. After turning it off, everything fell into place. So how is this possible and could similar problems occur elsewhere in the system?
It turns out — yes, it is possible. And it happens that you have to reinstall the system in order to overcome unwanted effects after installing this or that software.
All this can happen because of the so-called filter drivers. Just do not immediately think that filter drivers are bad. No way. This is a very useful mechanism, but, like any other tool, it must be used correctly. It happens that a driver starts to fail for one reason or another, and then it becomes necessary to find it and try to disable it so that it does not interfere with the normal operation of the system.
Let’s take a quick look at what filter drivers are and how they work. From this point of view, we can single out a functional driver — one that provides the basic functionality for working with a device, and filters that expand and supplement this functionality. The function driver’s registry key lists the filters above and below it. Requests for processing data or commands for the driver are formed in the form of packets and are processed in turn by each driver in the chain. This is why the failure of one driver in a chain can lead to interesting effects. There are several types of filter drivers. These are driver class filters and driver filters themselves. Class filters are present in the chains of any device of a particular class, for example, file system drivers will be present in the chain of any hard drive. Driver filters bind directly to a specific functional driver.
Based on the data described in the article «The human face of a driver», you can get information about which chains exist and which drivers are present in them. The search algorithm is quite simple.
Determine the active devices in the system.
Find functional drivers for them. They are described in subsections of found devices in the HKLMSYSTEMCURRENTCONTROLSETENUM registry key, in the Driver parameter, which in turn is a link to the HKLMSYSTEMCURRENTCONTROLSETSERVICES key. nine0003
Find function driver filters. They are described right there, in the UpperFilters and LowerFilters parameters.
Using the ClassGIUD parameter, located right there, you should find the GUID of the device class. Its parameters are located at this link in the HKLMSYSTEMCURRENTCONTROLSETCONTROLCLASS section.
In this key, find UpperFilters and LowerFilters that describe class filter drivers.
Using WMI and Excel, I wrote a program that can be used to examine the state of things with drivers and driver chains on a particular system. In case of incomprehensible problems, it is worth first of all to look at these lists and check if all the drivers and their chains are really similar to what you expect, and if necessary, disable some of them. Additional information and explanations about the tools used in the article are provided in the «Literature» and «Brief information about the tools» sidebars.
Andriy Vernigora ([email protected] com ) is a database administrator and system administrator at one of the enterprises of Ukrtransnafta. Has an MCP certificate
Brief information about the tools
WMI Object Query Language, which is a subset of the SQL language.
Windows PowerShell is a new Windows command shell designed primarily for system administrators. It includes an interactive command line and a scripting runtime that can be used together or separately.
SCM (service control manager)
An operating system component that controls the operation of services and drivers.
The Driver Verifier utility is a tool for checking drivers for correct behavior in a given situation. The utility allows you to perform the following checks.
Allocate resources from the pool.
Functional test under increased memory load.
Simulation of failures during pool allocation.
Release the pool.
Pool leak detection.
Driver unload check.
For more information about using the utility, see the Microsoft website at: http://support.microsoft.com/kb/244617.
Win32_SystemDriver and Win32_PrinterDriver classes
The Win32_SystemDriver class has the following structure
class Win32_SystemDriver : Win32_BaseService
The Win32_PrinterDriver class has the following structure
class Win32_PrinterDriver : CIM_Service
How do I open a WQL file? File extension .
What is a WQL file?
WQL is a file extension commonly associated with Microsoft Office files. The Microsoft Office specification was created by Microsoft Corporation. WQL files are supported by software applications available for devices running Windows. WQL file is categorized as Other Files just like #NUMEXTENSIONS # of other file extensions listed in our database. Microsoft Office is the most used program for working with WQL files. Microsoft Office software was developed by Microsoft Corporation and you can find more information about WQL files or Microsoft Office software on its official website. nine0003
Programs that support WQL file extension
Programs that can handle WQL files are as follows. WQL files can be encountered on all system platforms, including mobile ones, but there is no guarantee each will properly support such files.
Programs that support the WQL file
How do I open a WQL file?
Problems accessing WQL can be due to various reasons. Luckily, the most common problems with WQL files can be solved without deep IT knowledge, and most importantly, in minutes. The list below will guide you through the process of resolving your issue.
Step 1: Install the Microsoft Office software
The main and most frequent reason preventing users from opening WQL files is that no program that can handle WQL files is installed on user’s system. The solution to this problem is very simple. Download Microsoft Office and install it on your device. Above you will find a complete listing of programs that support WQL files, classified according to system platforms for which they are available. One of the safest ways to download software is to use official distributor links. Visit the Microsoft Office website and download the installer. nine0003
Step 2: Update Microsoft Office to the latest version
If you still have problems opening WQL files even after installing Microsoft Office , you may have an outdated version of the software. Check the developer’s website to see if a newer version of Microsoft Office is available. Software developers can implement support for more modern file formats in updated versions of their products. The reason that Microsoft Office cannot handle files with WQL may be that the software is outdated. The most recent version of Microsoft Office is backward compatible and can work with file formats supported by older versions of the software. nine0003
Step 3: Associate Microsoft Office for WQL files
If the issue has not been solved in the previous step, you should associate WQL files with latest version of Microsoft Office you have installed on your device. The next step shouldn’t be a problem. The procedure is simple and largely system independent
Procedure for changing the default program in Windows
- Right-click on the WQL file and select «Open with option». nine0094
- Select Choose another app → More apps
- The last step is to select the option Find another application on this. .. specify the path to the folder where Microsoft Office is installed. Now all that is left is to confirm your choice by selecting Always use this app to open WQL files and clicking OK.
Procedure for changing the default program in Mac OS
- From the drop-down menu, accessed by clicking the file with WQL extension, select Information
- Skip to the Open with section. If it is closed, click the title to access the available options.
- Select the appropriate software and save the settings by clicking Change all
- Finally this change will be applied to all files with WQL extension a message should appear. Click the Forward button to confirm your choice. nine0094
Step 4: Make sure the WQL file is complete and free of errors
Have you followed steps 1-3 carefully, but is the problem still present? You must check if the file is a valid WQL file. The file is probably corrupted and therefore inaccessible.
1. Check the WQL file for viruses or malware.
If WQL is indeed infected, malware may be blocking it from opening. Scan the WQL file as well as your computer for malware or viruses. If the WCL file is indeed infected follow the instructions below. nine0003
2. Check if the file is corrupted
Did you receive the WQL file from a different person? Ask him/her to send again. It is possible that the file was not properly copied to the datastore and is incomplete and therefore cannot be opened. If the WQL file was only partially downloaded from the Internet, try downloading it again.
3. Check if your account has administrative rights
There is a possibility that this file can only be accessed by users with sufficient system privileges. Switch to an account with the required privileges and try opening the Microsoft Office file again. nine0003
4. Check if your system can handle Microsoft Office
If the system is overloaded, it may not be able to handle the program that you use to open files with WQL extension.