如何用程序修改网卡的速度成10mb半双工???有没有现成的API函数啊??
下面是一位高手用VC写的,据说可以改变,希望谁能翻译成Delphi
#include   <setupapi.h>   
    
  #pragma   comment   (lib,"setupapi")   
    
  #define   UnknownDevice   TEXT("<Unknown   Device>")   
    
  HDEVINFO   hDevInfo   =   0;   
    
    
  BOOL   StateChange(DWORD   NewState,   DWORD   SelectedItem,HDEVINFO   hDevInfo)   
  {   
          SP_PROPCHANGE_PARAMS   PropChangeParams   =   {sizeof(SP_CLASSINSTALL_HEADER)};   
          SP_DEVINFO_DATA   DeviceInfoData   =   {sizeof(SP_DEVINFO_DATA)};   
          HCURSOR   hCursor;   
    
          //   
          //   This   may   take   a   while   :^(   
          //   
          hCursor   =   SetCursor(LoadCursor(NULL,   IDC_WAIT));   
    
          //   
          //   Get   a   handle   to   the   Selected   Item.   
          //   
          if   (!SetupDiEnumDeviceInfo(hDevInfo,SelectedItem,&DeviceInfoData))   
          {   
  //                 printf("EnumDeviceInfo");   
                  return   FALSE;   
          }   
    
          //   
          //   Set   the   PropChangeParams   structure.   
          //   
          PropChangeParams.ClassInstallHeader.InstallFunction   =   DIF_PROPERTYCHANGE;   
          PropChangeParams.Scope   =   DICS_FLAG_GLOBAL;   
          PropChangeParams.StateChange   =   NewState;     
    
          if   (!SetupDiSetClassInstallParams(hDevInfo,   
                  &DeviceInfoData,   
                  (SP_CLASSINSTALL_HEADER   *)&PropChangeParams,   
                  sizeof(PropChangeParams)))   
          {   
  //                 printf("SetClassInstallParams");   
                  SetCursor(hCursor);   
                  return   FALSE;   
          }   
    
          //   
          //   Call   the   ClassInstaller   and   perform   the   change.   
          //   
          if   (!SetupDiCallClassInstaller(DIF_PROPERTYCHANGE,   
                  hDevInfo,   
                  &DeviceInfoData))   
          {   
  //                 printf("SetClassInstallParams");   
                  SetCursor(hCursor);   
                  return   TRUE;   
          }   
    
          SetCursor(hCursor);   
          return   TRUE;   
  }   
    
    
  BOOL   IsClassNet(   GUID   *   ClassGuid   )   
  {   
          #define   MAX_NUM     50   
    
          HKEY   hKeyClass;   
          LONG   lRet;   
          char   ClassType[MAX_NUM];   
  char   NetClass[MAX_NUM]   =   "Net";   
  DWORD   dwLength   =   MAX_NUM,dwType   =   REG_SZ;   
            
          if   (hKeyClass   =   SetupDiOpenClassRegKey(ClassGuid,KEY_READ))   
          {   
                  lRet   =   RegQueryValueEx(hKeyClass,     
                          TEXT("Class"),     
                          NULL,   &dwType,   LPBYTE(ClassType),   &dwLength);   
                  RegCloseKey(hKeyClass);   
    
  if   (lRet   !=   ERROR_SUCCESS)   
  return   FALSE;   
    
  if   (!strcmp(ClassType,NetClass))   
  return   TRUE;   
          }                                                                     
    
          return   FALSE;   
  }   
    
  int   NetCtrl(DWORD   state)   
  {   
  if   (INVALID_HANDLE_VALUE   ==   (hDevInfo   =     
                                  SetupDiGetClassDevs(NULL,NULL,0,   
                                  DIGCF_PRESENT|DIGCF_ALLCLASSES)))   
          {   
  //                   printf("GetClassDevs");   
                    return   1;   
          }   
    
          DWORD   i,   Status,   Problem;   
  SP_DEVINFO_DATA   DeviceInfoData   =   {sizeof(SP_DEVINFO_DATA)};   
    
  HKEY   hKeyClass;   
  char   DeviceName[200];   
  for   (i=0;SetupDiEnumDeviceInfo(hDevInfo,i,&DeviceInfoData);i++)   
          {   
  if   (IsClassNet(&DeviceInfoData.ClassGuid))   
  {   
  //printf("   the   class's   index   is   %d\n",i);   
                                                        //   
  //DICS_DISABLE-->禁用网络   
  //DICS_ENABLE--->恢复网络   
  //   
  if   (StateChange(state,i,hDevInfo))   
    
  {   
  // printf("NetWork   enable");   
  return   0;   
  }   
    
  }   
  }   
    
  return   1;   
  }