gpt4 book ai didi

检查是否为我的 USB 设备安装了驱动程序

转载 作者:可可西里 更新时间:2023-11-01 14:13:55 30 4
gpt4 key购买 nike

我使用 SetupDiGetClassDevs()SetupDiEnumDeviceInfo()SetupDiGetDeviceRegistryProperty() 枚举我的 USB 设备并检查我的设备是否可用或不是。

如何检查我的设备是否安装了正确的驱动程序?
是否有任何 API 可用于检查此内容?

最佳答案

您可以获得设备的驱动程序信息,然后检查您的驱动程序是否已安装并且是最新数据。

下面是一些可能对您有所帮助的 C++ 代码:

bool fetchDriverDescription( const std::wstring& driverRegistryLocation, tDriverDescription& desc )
{
bool rval = false;

std::wstring regFolder = L"SYSTEM\\CurrentControlSet\\Control\\Class\\";
regFolder += driverRegistryLocation;
win32::registry::reg_key hKey =
win32::registry::reg_key::open( HKEY_LOCAL_MACHINE, regFolder, KEY_READ );
if( hKey )
{
if( win32::registry::read( hKey, L"ProviderName", desc.DriverProviderName, false ) != ERROR_SUCCESS )
return false;

desc.InstalledDriverRegFolder = regFolder;

std::wstring val;
if( win32::registry::read( hKey, L"DriverVersion", val, false ) == ERROR_SUCCESS )
desc.Version = val;
rval = true;
}
return rval;
}

std::wstring driverRegLocation;
if( fetchStringFromDiGetDevice( hDevInfo, DeviceInfo, SPDRP_DRIVER, driverRegLocation ) )
{
bSuccessful = fetchDriverDescription( driverRegLocation, dev.DriverDesc );
}

关于检查是否为我的 USB 设备安装了驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11190241/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com