sharkmouse
禁止发言
禁止发言
  • 注册日期2003-05-05
  • 最后登录2016-04-11
  • 粉丝0
  • 关注0
  • 积分1355分
  • 威望7163点
  • 贡献值1点
  • 好评度24点
  • 原创分0分
  • 专家分0分
阅读:873回复:1

关于设备禁用!

楼主#
更多 发布于:2004-11-11 21:20
用户被禁言,该主题自动屏蔽!
fslife
驱动大牛
驱动大牛
  • 注册日期2004-06-07
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分9分
  • 威望49点
  • 贡献值0点
  • 好评度20点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2004-11-12 09:15
  想用setupapi来实现对设备的禁用,但在禁用之前想知道设备当前的属性即DISC_DISABLE和DISC_ENABLE,不知道怎样获得,最好有一个例子。


是不是要获得设备的状态为禁用还是启用?如果是,可以参照下面的函数:
//
//recode:
//Error   :-1
//Disabled: 0
//Enabled : 1
//
int GetDeviceState(DEVINST dnDevInst){
DWORD Status, Problem;
int retcode=-1;

if (CM_Get_DevNode_Status(&Status,&Problem,dnDevInst,0) !=CR_SUCCESS) {
_tprintf(_T("CM_Get_DevNode_Status error ! n"));
goto failed;
}

    if (!(((Status & DN_HAS_PROBLEM) !=0) && (CM_PROB_DISABLED==Problem))) {
retcode = 1;
}
else if (((Status & DN_DISABLEABLE)!=0) && (CM_PROB_HARDWARE_DISABLED!=Problem)) {
retcode = 0;
}
return retcode;

failed:
return retcode;
}
在交流中学习。。。
游客

返回顶部