c++ - 如何调用 SetupDiGetDriverInfoDetail
问题描述
我想通过“SetupDiGetDriverInfoDetailA”函数获取特殊设备驱动程序的详细信息。我的代码是这样的:
SP_DRVINFO_DATA_A sda;
SP_DRVINFO_DETAIL_DATA_A sdda;
memset(&sda, 0, sizeof(SP_DRVINFO_DATA_A));
memset(&sdda, 0, sizeof(SP_DRVINFO_DETAIL_DATA_A));
sda.cbSize = sizeof(SP_DRVINFO_DATA_A);
sdda.cbSize = sizeof(SP_DRVINFO_DETAIL_DATA_A);
DWORD aaa = 0;
if (!SetupDiGetSelectedDriverA(hDevInfo, &deviceInfoData, &sda))
{
cout << "fail to exec the SetupDiGetSelectedDriverA()" << endl;
return -1;
}
if (!SetupDiGetDriverInfoDetailA(hDevInfo, &deviceInfoData, &sda, &sdda, sizeof(sdda), &aaa))
{
auto res2 = GetLastError(); // 87
cout << "fail to exec the SetupDiGetDriverInfoDetailA()" << endl;
return -1;
}
我的问题是如何设置参数,我的代码总是会因 GetLastError() 87(ERROR_INVALID_PARAMETER) 而失败。
解决方案
推荐阅读
- python - 在 Python 中对小部件进行子类化以与 Qt Designer 一起使用的最简单方法
- python - 如何刷新我的代码以便为调查提供新答案?
- ruby-on-rails - 如何在 rails/rspec 中捕获 ActiveRecord::RecordInvalid 错误
- python - 修改 __getitem__ 后无法切片列表
- if-statement - 创建一个 if 语句来检查一个对象的值并随后将一个值分配给另一个对象
- spring5 - ValangValidator 与 spring 5 的替代类
- oop - 从两个不同的类有条件地调用方法
- django - 使用 django 在线 Redis 后端
- r - 使用 tidyverse 从一个分组数据集中动态变异另一个数据集中的一个变量
- java - 如何返回列表 DTO 包含春季查询的其他 DTO 列表?