Есть inf-файл. В моем случае это inf-файл модема для сотового телефона. Т.е. он использует драйвер стандартного модема (или еще какого не знаю). Чтобы его инсталить в винде необходимо запустить Start->Settings->Contrl Panel->Phone and Modem Options, там выбрать закладку Modems и нажать Add. Потом выбрать "Установить с диска" и указать inf-файл. Появится новый модем завязанный на отовый телефон. ВОПРОСС: Как это все проинсталить программным способом? В винде есть ф-ции "Setup API", в частности SetupInstallFile, SetupInstallFileEx. Но как их юзать мне не совсем понятно. Самплов я не нашел. Мот кто решал такую проблему?
строка запуска для инсталяции такая devcon install Nokia6021Cable.inf <hwid> где <hwid> хардваре АЙДИ. И что пихать в качестве этого ID я не знаю. порыл я этот devcon, срывается на ф-ции SetupDiCallClassInstaller, а ей на вход подготавливается инфа SetupDiSetDeviceRegistryProperty ф-цией. BOOL SetupDiSetDeviceRegistryPropertyA( __in HDEVINFO DeviceInfoSet, __inout PSP_DEVINFO_DATA DeviceInfoData, __in DWORD Property, __in_bcount_opt(PropertyBufferSize) CONST BYTE *PropertyBuffer, __in DWORD PropertyBufferSize ); в PropertyBuffer как раз и пихаеццо <hwid>. Короче опять жду советов.
Привожу более подробную инфу: вызов ф-ции SetupDiCallClassInstaller выдает еррор №997 (IO Pending) и досвидания. Я перехватил SetupDiSetDeviceRegistryProperty во всех процессах и посмотрел что ей пихаеццо на вход, когда инсталю свой модем. Порядок следующий: SetupDiSetDeviceRegistryPropertyA({4D36E96D-E325-11CE-BFC1-08002BE10318}) -- это ClassGUID из inf-файла SetupDiSetDeviceRegistryPropertyA(Nokia 6021 Cable) -- это типа название модема SetupDiSetDeviceRegistryPropertyA(ROOTMODEM) -- ну а это ХЗ я пихал на вход devcon все эти значения -- результат один и тотже: еррор 997. Недоделанный какой-то этот devcon.