none
UpdateDriverForPlugAndPlayDevices失败,错误代码259 RRS feed

  • 问题

  • 我在windows7系统上使用VS2008进行开发,我尝试编写代码,将一个Android手机的驱动程序安装到PC上。

    我调用UpdateDriverForPlugAndPlayDevices进行安装,指定了手机对应的inf文件,但是函数返回失败,错误代码259,“ERROR_NO_MORE_ITEMS”。

    从MSDN来看应该可以通过指定INSTALLFLAG_FORCE来解决,但是我尝试了,没有成功。

    我改如何调用UpdateDriverForPlugAndPlayDevices这个函数,以安装驱动呢?

    2011年8月1日 8:46

答案

  • 首先,感谢版主的回复,但是我在上面已经提到了“从MSDN来看应该可以通过指定INSTALLFLAG_FORCE来解决,但是我尝试了,没有成功。”

    这个问题的实际原因是,我没有传入正确的HardwareID到UpdateDriverForPlugAndPlayDevices函数中去。至于如何获取正确的HardwareID,那就是另一个问题了。

    • 已标记为答案 Rob Pan 2011年8月4日 2:37
    2011年8月4日 2:13

全部回复

  • 你好,

     

    很高兴您能够来到MSDN中文论坛提出您的问题。

     

    根据您的描述,当您调用UpdateDriverForPlugAndPlayDevices时,得到ERROR_NO_MORE_ITEMS错误,意味着函数发现当前需要安装的驱动版本低于您已经安装的驱动版本,您可以通过声明INSTALLFLAG_FORCE标记来强行安装改驱动。UpdateDriverForPlugAndPlayDevices函数声明如下:

    BOOL UpdateDriverForPlugAndPlayDevices(

      __in_opt   HWND hwndParent,

      __in       LPCTSTR HardwareId,

      __in       LPCTSTR FullInfPath,

      __in       DWORD InstallFlags,   // 你可以把这个参数设置成INSTALLFLAG_FORCE                                                                                     //

      __out_opt  PBOOL bRebootRequired

    );

     

    希望我的回答能够帮助您解决你的问题


    Rob Pan [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年8月2日 6:30
  • 首先,感谢版主的回复,但是我在上面已经提到了“从MSDN来看应该可以通过指定INSTALLFLAG_FORCE来解决,但是我尝试了,没有成功。”

    这个问题的实际原因是,我没有传入正确的HardwareID到UpdateDriverForPlugAndPlayDevices函数中去。至于如何获取正确的HardwareID,那就是另一个问题了。

    • 已标记为答案 Rob Pan 2011年8月4日 2:37
    2011年8月4日 2:13