Я застрял. Чтобы сократить длинную историю, задача состоит в том, чтобы перечислить все файлы драйверов для резервного копирования. Для некоторых водителей, как драйвер видеоадаптера, я используюРезервное копирование драйверов с помощью setupapi
SetupScanFileQueue(queueHandle,
SPQ_SCAN_USE_CALLBACKEX,NULL,
DumpDeviceDriversCallback,&count,&scanResult)
из SetupAPI и что работает отлично, как и в DumpDeviceDriversCallback я могу получить источник файла драйвера устройства, а затем скопировать его в хранилище резервных копии один за другим.
Однако эта же функция игнорирует обратный вызов для системных драйверов. Например, для «Прямого контроллера доступа к памяти» я не могу получить список файлов. Забавно, но диспетчер устройств Windows также не может найти файлы для некоторых системных устройств.
Некоторое специальное программное обеспечение, такое как DriverMax и DoubleDriver, фактически может выполнить резервное копирование этих драйверов. Итак, это проблема, которая может быть решена.
Кто-нибудь может объяснить мне, что здесь происходит?
В этих файлах INF есть очевидные ссылки на файлы. Я вижу их в INF, я могу найти их в каталоге Windows. Вот пример: http://pastebin.com/Xu3VpjnW – ReVolly
Конечно, machine.inf устанавливает не только эти устройства. Обратите внимание на раздел для контроллера DMA: 105.% * PNP0200.DeviceDesc% = NO_DRV_X, * PNP0200; DMA – snoone
Итак, почему файлы драйверов, очевидно, используются, но система их не «видит»? Почему DoubleDriver может создавать резервные копии этого драйвера устройства? Благодарим за отзыв. – ReVolly