考试辅导

名师推荐

试听名师的课 查看所有名师

2011年计算机等级考试二级C++辅导实例编程(21) 发布时间:2011-07-05 20:36 来源:互联网

  2011年计算机等级考试二级C++辅导实例编程(21)

    用C语言实现禁用网卡的代码

  #include

  #include

  #include

  #include

  void EnumDevices(HDEVINFO hDevInfo)

  {

  SP_DEVINFO_DATA DeviceInfoData = {sizeof(SP_DEVINFO_DATA)};

  LPOLESTR guid;

  char devName[128];

  char instanceId[128];

  for (int i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)

  {

  StringFromCLSID(DeviceInfoData.ClassGuid,&guid);

  SetupDiClassNameFromGuid(&DeviceInfoData.ClassGuid,devName,128,NULL);

  if(!strcmp(devName,"Net"))

  {

  SetupDiGetDeviceInstanceId(hDevInfo,&DeviceInfoData,instanceId,128,NULL);

  if(!strncmp(instanceId,"PCI",3))

  {

  wprintf(L"%s\n",guid);

  printf("%s\n",devName);

  printf("%s\n",instanceId);

  SP_PROPCHANGE_PARAMS params = {sizeof(SP_CLASSINSTALL_HEADER )};

  params.ClassInstallHeader.InstallFunction = DIF_PROPERTYCHANGE;

  params.Scope = DICS_FLAG_CONFIGSPECIFIC;

  params.StateChange = DICS_DISABLE;

  params.HwProfile = 0;

  SetupDiSetClassInstallParams(hDevInfo, &DeviceInfoData, (SP_CLASSINSTALL_HEADER*)¶ms, sizeof(SP_PROPCHANGE_PARAMS));

  SetupDiChangeState(hDevInfo, &DeviceInfoData);

  }

  }

  CoTaskMemFree(guid);

  }

  }

  int main(int argc, char* argv[])

  {

  HDEVINFO hDevInfo = INVALID_HANDLE_VALUE;

  hDevInfo = SetupDiGetClassDevs(NULL,NULL,NULL, DIGCF_PRESENT | DIGCF_ALLCLASSES);

  if(INVALID_HANDLE_VALUE == hDevInfo)

  return GetLastError();

  EnumDevices(hDevInfo);

  SetupDiDestroyDeviceInfoList(hDevInfo);

  return 0;

  }

第一考试网友情提示:如果您遇到任何疑问,请登录第一考试网考试辅导频道或添加qq:,第一考试网以“为考友服务”为宗旨,秉承“快乐学习,轻松考试!”的理念,旨在为广大考友打造一个良好、温馨的学习与交流平台,欢迎持续关注。以上是小编为大家推荐的《2011年计算机等级考试二级C++辅导实例编程(21)》相关信息。

编辑推荐

计算机等级考试辅导:SQL中JOB的运行状态

计算机等级考试辅导:SQLSERVER2005的引用

三级:把数据导入不同的表空间

2009年三级信息管理技术辅导:战略数据规划

教你三种方法卸载Windows7SP1Beta