资讯   |   开发   |   选机中心   |   产品大全 | IBM | 惠普 | 联想 | 戴尔 | 苹果 | 神舟
更多: | 华硕 | 明基 | 方正 | 紫光 | TCL | 夏新 | 联宝 | 宏碁 | 七喜 | 长城 | 清华同方 | 海尔 | 三星 | 东芝 | 索尼 | 富士通 | LG | 技术 | ddnoon
当前位置:笔记本 > 软件开发 >
Advertisement
文章正文

求助,请大虾进来看看(这个问题折磨我很久了)

类型:转载   责任编辑:asp.net   日期:2007/05/23


热门软件下载:


   

我写了一个程序用VC的,就是DDK里面的Setup*******那些API做的,但是出现一个问题折磨我很久了。我用程序可以禁用掉网卡,也可以启用,但是我在网络邻居里停用后,用程序无法启用,我不知道这是为什么?而且我用程序disable   后,在网络邻居里无法启用,但是设备管理器里可以启用,  
  另外一个情况,在设备管理器里停用掉,网络邻居里可以启用,但是用程序无法启用。我现在需要解决的问题是,如果在网络邻居里停用以后,我用程序依然可以启动呢?我想知道是setup********这些  
  API不能解决这个问题,还是问题出在别的什么地方?希望大虾给与帮助。  
   
  下面代码是我的程序片断,为了说明我用的方法:  
  BOOL   ChangeDeviceState(HDEVINFO   hDevInfoSet,   SP_DEVINFO_DATA   *pDevInfoData,   DWORD   State)    
  {  
  SP_PROPCHANGE_PARAMS   propchange;  
  propchange.ClassInstallHeader.cbSize   =   sizeof(SP_CLASSINSTALL_HEADER);  
  propchange.ClassInstallHeader.InstallFunction   =   DIF_PROPERTYCHANGE;  
  propchange.HwProfile   =   0;  
  propchange.StateChange   =   State;  
  propchange.Scope   =   (State   ==   DICS_START   ||   State   ==   DICS_STOP   )?   DICS_FLAG_CONFIGSPECIFIC   :   DICS_FLAG_GLOBAL;  
  if(!SetupDiSetClassInstallParams(hDevInfoSet,   pDevInfoData,   (PSP_CLASSINSTALL_HEADER)&propchange,sizeof(propchange)))  
  {  
  printf("SetupDiSetClassInstallParams.   Error   Code:%x\n",GetLastError());  
  return   FALSE;  
  }  
   
  if(!SetupDiChangeState(hDevInfoSet,   pDevInfoData))  
  {  
  DWORD   dwErrCode   =   ERROR_NO_CLASSINSTALL_PARAMS;  
  dwErrCode=   GetLastError();  
  printf("SetupDiChangeState.   Error   Code:%x\n",GetLastError());  
  return   FALSE;  
  }/*  
  if(!SetupDiCallClassInstaller(DIF_PROPERTYCHANGE,   hDevInfoSet,   pDevInfoData))  
  {  
  printf("SetupDiCallClassInstaller");  
  return   FALSE;  
  }*/  
  return   TRUE;  
  }  
 

网友回答:

发表者:iloverebecca

flag   设置全设置成DICS_FLAG_CONFIGSPECIFIC


 

 
热门推荐笔记本: 夏新笔记本
相关文章:
webmaster:popbb@126.com   最佳浏览:1024X768 MSIE
©2007 popbb.net All Rights Reserved