请问, 如果某个USB设备通过"设备管理器"被禁用了, 然后被拔出系统, 着个时候我的程序是可一枚举到这个设备对应的设备节点的, 但不只是否可以通过此节点来修改这个设备的配置, 使其再一次查入系统时状态成为启用的? 谢谢了.

解决方案 »

  1.   

    http://www.wangchao.net.cn/bbsdetail_51363.html
    参考一下
      

  2.   

    禁用或启用一个设备,可以用微软DDK的devcon.exe实现你需要的功能。
      

  3.   

    搜一下很多这种启用禁用硬件设备的例子,基本框架如下:    //设置设备属性变化参数 
        PropChangeParams.ClassInstallHeader.cbSize = sizeof(SP_CLASSINSTALL_HEADER); 
        PropChangeParams.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE; 
        PropChangeParams.Scope = DICS_FLAG_GLOBAL; //使修改的属性保存在所有的硬件属性文件 
        PropChangeParams.StateChange = DICS_ENABLE; // 状态:启用或禁用 
        PropChangeParams.HwProfile = 0; 
       
        //改变设备属性并调用安装服务 
        if (!SetupDiSetClassInstallParams( hDevInfo, 
                                          &DevInfoData, 
                                          (SP_CLASSINSTALL_HEADER *)&PropChangeParams, 
                                          sizeof(PropChangeParams)) || 
            !SetupDiCallClassInstaller(DIF_PROPERTYCHANGE, hDevInfo, &DevInfoData)) 
        { 
            OutputDebugString("SetupDiSetClassInstallParams or SetupDiCallClassInstaller FAILED"); 
        }