I am wondering how driverquery.exe gets its list of loaded device driver. As a first step, I tried using the API Monitor tool (http://www.rohitab.com/downloads) in 32bit Win7 to see what APIs it is calling. But to my surprise, it is NOT calling any of the following functions:
1) EnumDeviceDrivers() nor the GetDeviceDriver*()
2) EnumServicesStatus(), GetService*(), nor any of the service related calls in advapi.dll
3) DeviceIoControl() (so it is not using some special device driver)
4) Setup API functions in SetupAPI.dll
It does call CreateFile() on each of the .sys file in the system32\drivers\. But how does it get the list of .sys file in the directory? Are there any other areas I should check?
1) EnumDeviceDrivers() nor the GetDeviceDriver*()
2) EnumServicesStatus(), GetService*(), nor any of the service related calls in advapi.dll
3) DeviceIoControl() (so it is not using some special device driver)
4) Setup API functions in SetupAPI.dll
It does call CreateFile() on each of the .sys file in the system32\drivers\. But how does it get the list of .sys file in the directory? Are there any other areas I should check?
Last edited by aleckernel on Tue Jan 05, 2016 1:32 pm, edited 1 time in total.