123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #ifndef __DEVICEQUERY__
- #define __DEVICEQUERY__
- #pragma once
- #include <string>
- #include <vector>
- #include <setupapi.h>
- #include <initguid.h>
- #pragma comment(lib,"setupapi.lib")
- enum NICKIND
- {
-
- NIC_PCI,
-
- NIC_USB,
-
- NIC_ROOT,
-
- NIC_SWD,
-
- NIC_UNK
- };
- typedef struct __MAC_ADDRESS__
- {
- INT nNICKind;
- TCHAR szNICKind[16];
- TCHAR szMacAddress[MAX_PATH];
- TCHAR szDevicePath[MAX_PATH];
- }MacAddress, *pMacAddress;
- class CDeviceQuery
- {
- public:
- CDeviceQuery(void);
- ~CDeviceQuery(void);
- private:
- BOOL GetRegistryProperty(
- IN HDEVINFO DeviceInfoSet,
- OUT PSP_DEVINFO_DATA DeviceInfoData,
- IN ULONG Property,
- OUT PVOID Buffer,
- OUT PULONG Length );
- public:
-
- void EnumNetCards();
-
- INT GetMacAddress();
-
- INT GetHardDiskInfo();
-
- void OutHDString();
-
- BYTE* GetHardWareSerialNumber(IN DWORD &dwBytelen);
- private:
-
- std::vector<MacAddress> m_vtMacAddress;
- std::vector<std::string> m_vtHardDiskID;
- };
- #endif
|