++++" << endl; MIB_IFTABLE *pIfTable = NULL; ULONG dwSize = 0; DWORD dwRet; dwRet = GetIfTable(pIfTable, &dwSize, TRUE); if (dwRet == ERROR_INSUFFICIENT_BUFFER) { pIfTable = (MIB_IFTABLE *) new char[dwSize]; if (pIfTable != NULL) { dwRet = GetIfTable(pIfTable, &dwSize, TRUE); if (dwRet == NO_ERROR) { printf("dwNumEntries = %u\n", pIfTable->dwNumEntries); for (int i = 0; i < pIfTable->dwNumEntries; i++) { //MIB_IF_TYPE_ETHERNET ->以太网 if ((pIfTable->table[i]).dwType == MIB_IF_TYPE_ETHERNET && (pIfTable->table[i]).dwAdminStatus == 1 && ((pIfTable->table[i].dwOperStatus) == MIB_IF_OPER_STATUS_OPERATIONAL)) { printf("table[%1d].dwIndex = %u\n", i, (pIfTable->table[i]).dwIndex); printf("\t dwType = %u\n", (pIfTable->table[i]).dwType); printf("\t dwSpeed = %u\n", (pIfTable->table[i]).dwSpeed); printf("\t dwInByte = %u\n", (pIfTable->table[i]).dwInOctets); printf("\t dwOutByte = %u\n", (pIfTable->table[i]).dwOutOctets); printf("\t Descript = %s\n", (pIfTable->table[i]).bDescr); // friendly name wcout << (pIfTable->table[i]).wszName << endl; // \DEVICE\TCPIP_{90B6A657-5D57-499F-ACC8-0F931B6B1ADC}, it contains netcard's name {xxxx-xxx-xxx} } } } else { printf("Some error occured!\n"); } } else { printf("Memory allocate failue\n"); } } else { printf("Some error occured!\n"); } system("pause"); return 0; }
|