Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BOOL WINAPI GetPhyMacAddress(char* strServiceName)
- {
- BOOL bRet = FALSE;
- char pstrBuf[512];
- wsprintfA(pstrBuf, "\\\\.\\%s", strServiceName);
- HANDLE hDev = CreateFileA(pstrBuf, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0);
- if (hDev != INVALID_HANDLE_VALUE)
- {
- int inBuf;
- BYTE outBuf[256] = { 0 };
- DWORD BytesReturned;
- inBuf = OID_802_3_PERMANENT_ADDRESS;
- if (DeviceIoControl(hDev, IOCTL_NDIS_QUERY_GLOBAL_STATS, (LPVOID)&inBuf, 4, outBuf, 256, &BytesReturned, NULL))
- {
- sprintf(pstrBuf, "Mac: %02X-%02X-%02X-%02X-%02X-%02X\n",
- outBuf[0], outBuf[1], outBuf[2], outBuf[3], outBuf[4], outBuf[5]);
- printf(pstrBuf);
- bRet = TRUE;
- }
- inBuf = OID_802_3_CURRENT_ADDRESS;
- if (DeviceIoControl(hDev, IOCTL_NDIS_QUERY_GLOBAL_STATS, (LPVOID)&inBuf, 4, outBuf, 256, &BytesReturned, NULL))
- {
- sprintf(pstrBuf, "Mac: %02X-%02X-%02X-%02X-%02X-%02X\n",
- outBuf[0], outBuf[1], outBuf[2], outBuf[3], outBuf[4], outBuf[5]);
- printf(pstrBuf);
- bRet = TRUE;
- }
- CloseHandle(hDev);
- }
- return bRet;
- }
- BOOL GetMacAddress()
- {
- UINT uErrorCode = 0;
- PIP_ADAPTER_INFO pAda;
- ULONG uSize = 0;
- DWORD dwResult = GetAdaptersInfo(NULL, &uSize);
- if (dwResult == ERROR_BUFFER_OVERFLOW)
- {
- pAda = (PIP_ADAPTER_INFO)new BYTE[uSize];
- PIP_ADAPTER_INFO piai = pAda;
- dwResult = GetAdaptersInfo(piai, &uSize);
- if (ERROR_SUCCESS == dwResult)
- {
- while (piai)
- {
- printf("AdapterName: %s\n", piai->AdapterName);
- printf("Description :%s\n", piai->Description);
- printf("Type :%d\n", piai->Type);
- GetPhyMacAddress(piai->AdapterName);
- printf("\n");
- piai = piai->Next;
- }
- }
- delete[] pAda;
- }
- return TRUE;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement