我被卡住了。长话短说,任务是枚举所有要备份的驱动程序文件。对于某些驱动程序,如显示适配器驱动程序,我使用
SetupScanFileQueue(queueHandle,
SPQ_SCAN_USE_CALLBACKEX,NULL,
DumpDeviceDriversCallback,&count,&scanResult)我可以从setupapi中获取设备驱动程序文件的源代码,然后将其逐个复制到备份位置,就像在DumpDeviceDriversCallback中一样。
但是,相同的函数会忽略系统驱动程序的回调。例如,对于“直接内存访问控制器”,我无法获得文件列表。有趣的是,windows设备管理器也找不到一些系统设备的任何文件。
一些特殊的软件,如DriverMax和DoubleDriver实际上可以备份这些驱动程序。所以,这就是可能解决的问题。
有人能给我解释一下这是怎么回事吗?
发布于 2011-01-26 23:50:08
有很多设备是使用所谓的“无驱动程序”INF安装的。这些INF提供了足够的信息,以便设备管理器可以显示设备的一些信息(从而避免它们出现在“未知设备”类别中),但实际上并不安装任何驱动程序。
这些设备不需要驱动程序,因为它们由操作系统本身和/或BIOS管理。通常这些设备都是使用machine.inf“安装”的,它有一个巨大的已知无驱动设备列表。
至于任何声称备份这些设备的驱动程序的软件,要么他们只是复制INF,要么他们满脑子都是INF,因为除了INF没有什么要备份的。
-scott
https://stackoverflow.com/questions/4805141
复制相似问题