#include
<
SetupAPI.h
>
#include < cfgmgr32.h >
#include < list >
using namespace std;
// cfgmgr32.h 在Microsoft Windows 2000 DDK 中.
// 要用 CM_Get_DevNode_Status(...) 来查询状态.
// ---------------------------------------------------------------------------
typedef struct NetCardStruct
... {
DWORD Id; // 网卡设备号
AnsiString Name; // 网卡名
bool Disabled; // 当前是否禁用
bool Changed; // 是否更改过
} TNetCardStruct;
typedef TNetCardStruct * PNetCardStruct;
typedef list < TNetCardStruct > TList;
// ---------------------------------------------------------------------------
// EnumNetCards 枚举出网卡
// ---------------------------------------------------------------------------
void __fastcall EnumNetCards(TList * NetDeviceList)
... {
AnsiString DevValue;
PNetCardStruct NetCard;
DWORD Status, Problem;
LPTSTR Buffer = NULL;
DWORD BufSize = 0;
HDEVINFO hDevInfo = 0;
if(INVALID_HANDLE_VALUE==(hDevInfo=SetupDiGetClassDevs(NULL,NULL,0,DIGCF_PRESENT ¦DIGCF_ALLCLASSES)))
return
#include < cfgmgr32.h >
#include < list >
using namespace std;
// cfgmgr32.h 在Microsoft Windows 2000 DDK 中.
// 要用 CM_Get_DevNode_Status(...) 来查询状态.
// ---------------------------------------------------------------------------
typedef struct NetCardStruct
... {
DWORD Id; // 网卡设备号
AnsiString Name; // 网卡名
bool Disabled; // 当前是否禁用
bool Changed; // 是否更改过
} TNetCardStruct;
typedef TNetCardStruct * PNetCardStruct;
typedef list < TNetCardStruct > TList;
// ---------------------------------------------------------------------------
// EnumNetCards 枚举出网卡
// ---------------------------------------------------------------------------
void __fastcall EnumNetCards(TList * NetDeviceList)
... {
AnsiString DevValue;
PNetCardStruct NetCard;
DWORD Status, Problem;
LPTSTR Buffer = NULL;
DWORD BufSize = 0;
HDEVINFO hDevInfo = 0;
if(INVALID_HANDLE_VALUE==(hDevInfo=SetupDiGetClassDevs(NULL,NULL,0,DIGCF_PRESENT ¦DIGCF_ALLCLASSES)))
return