none
Обновление конфигурации оборудования RRS feed

Ответы

  • Нет, Дмитрий, это не поможет. Нельзя удалить устройство, которое ещё не определилось. Мне помогла функция UpdateDriverForPlugAndPlayDevices.  
    • Помечено в качестве ответа Abolmasov Dmitry 19 января 2012 г. 6:38
    18 января 2012 г. 18:15

Все ответы

  • Здравствуйте.

    Посмотрите статью How To Force Reenumeration of a Device Tree From an Application

    И также, как импортировать эти функции в C# - Is there an API call to start a scan for hardware devices


    Для связи [mail]
    13 января 2012 г. 10:49
  • Дмитрий, Ваш совет полезен. Однако, обновление конфигурации происходит не во всех случаях. ( Работаю из под Windows 7 профессиональная sp1) 

    А именно:

    1) Я подсоединяю устройство, работающее через RS 485-USB, к компьютеру. Windows пишет, что найдено новое оборудование и драйверы не установлены.

    2) Я устанавливаю драйвер для порта RS 485 путём программной установки *.inf файла. 

    (

           Использую: 

           [DllImport("Setupapi.dll", EntryPoint = "InstallHinfSection", CallingConvention = CallingConvention.StdCall)]     

            public static extern void InstallHinfSection(

               [In] IntPtr hwnd,

               [In] IntPtr ModuleHandle,

               [In, MarshalAs(UnmanagedType.LPWStr)] string CmdLineBuffer,

               int nCmdShow);

    )

     

    3) Далее, я пытаюсь обновить конфигурацию оборудования программно следуя вашему совету. Однако, обновления конфигурации не происходит. 

    Если нажать соответствующую кнопку в диспетчере устройств, то обновление конфигурации произойдёт.

     

    Я немного поигрался со всем этим и обнаружил, что если после приведённой последовательности действий удалить установленное устройство из списка устройств в диспетчере, а затем программно обновить конфигурацию оборудования, следуя Вашему совету, то обновление таки произойдёт. Таким образом, импортированные функции работают, но несколько нелепым образом.

    Хотелось бы услышать советы по этому вопросу. Может быть кто-то сталкивался с подобным. Спасибо.

     

    15 января 2012 г. 13:29
  • Можно попробовать либо программно удалить устройство и заново выполнить поиск, либо посмотрите на утилиту - DevCon.exe, она тоже много чего может сделать, в том числе и сканирование устройств.

    How to Obtain the Current Version of Device Console Utility (DevCon.exe)


    Для связи [mail]
    • Предложено в качестве ответа Abolmasov Dmitry 18 января 2012 г. 10:20
    16 января 2012 г. 6:36
  • Нет, Дмитрий, это не поможет. Нельзя удалить устройство, которое ещё не определилось. Мне помогла функция UpdateDriverForPlugAndPlayDevices.  
    • Помечено в качестве ответа Abolmasov Dmitry 19 января 2012 г. 6:38
    18 января 2012 г. 18:15