草庐IT

SetupDiEnumDriverInfo

全部标签

c# - SetupDiEnumDriverInfo 总是返回错误 259(没有更多数据可用)

我正在尝试使用win32API在C#中访问有关与设备关联的驱动程序的信息。我已经设法启用/禁用设备(所以我正在检索的句柄似乎没问题),但是我在尝试调用SetupDiEnumDriverInfo时运气不好。这是我使用的代码:privateListListCompatibleDrivers(IntPtrhDevInfo,SP_DEVINFO_DATAdevInfoData){Listresult=newList();try{SP_DRVINFO_DATAdrvInfo=newSP_DRVINFO_DATA();for(inti=0;SetupDiEnumDriverInfo(hDevInf

c++ - 为什么 SetupDiEnumDriverInfo 会为我的驱动程序提供两个版本号

我正在尝试以编程方式获取驱动程序的版本号。这似乎是通过使用SetupDiEnumDriverInfo获取SP_DRVINFO_DATA结构并检查DriverVersion字段来完成的。以下代码有效,但为同一驱动程序返回两个不同的版本。我的设备是自定义USB设备,只有一个.sys文件。只有一台设备连接到我的机器。我指定DIGCF_PRESENT以仅查询当前连接的设备的驱动程序。intmain(void){//Getthe"deviceinfoset"forourdriverGUIDHDEVINFOdevInfoSet=SetupDiGetClassDevs(&GUID_DEVINTERF