Advertisement
Advertisement
| 05.13.2008 at 11:37PM PDT, ID: 23400436 |
|
[x]
Attachment Details
|
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: |
CString CActivationManager::GetMACaddress(int indx)
{
IP_ADAPTER_INFO AdapterInfo[16]; // Allocate information
// for up to 16 NICs
DWORD dwBufLen = sizeof(AdapterInfo); // Save memory size of buffer
DWORD dwStatus = GetAdaptersInfo( // Call GetAdapterInfo
AdapterInfo, // [out] buffer to receive data
&dwBufLen); // [in] size of receive data buffer
if (!dwStatus == ERROR_SUCCESS) // Verify return value is
return _T("ERR");
// valid, no buffer overflow
PIP_ADAPTER_INFO pAdapterInfo = AdapterInfo; // Contains pointer to
// current adapter info
CString macAddressStr;
int num = 0;
do
{
if ( pAdapterInfo->Type == 6 )
{
macAddressStr.Format(_T("%02X-%02X-%02X-%02X-%02X-%02X"),
pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2],
pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5]);
if ( pAdapterInfo->Address[1] == pAdapterInfo->Address[2] &&
pAdapterInfo->Address[1] == pAdapterInfo->Address[3] &&
pAdapterInfo->Address[1] == pAdapterInfo->Address[4] )
{
indx++;
}
else
{
if (num == indx)
return macAddressStr;
}
}
else
{
indx++;
}
pAdapterInfo = pAdapterInfo->Next; // Progress through
num++;
// linked list
}
while(pAdapterInfo); // Terminate if last adapter
return _T("");
}
|