Başlığın belirttiği gibi, bunu günün daha iyi bir parçası için yapmaya çalışıyorum. Herhangi bir yardım aprenated olacaktır.Ağ bağdaştırıcılarını nasıl sıralar ve MAC adreslerini Win32 API C++ uygulamasında nasıl alırım?
10
A
cevap
8
Bu kod çalışması gerekir: Yalnızca IPhelper API master gereken
{
ULONG outBufLen = 0;
DWORD dwRetVal = 0;
IP_ADAPTER_INFO* pAdapterInfos = (IP_ADAPTER_INFO*) malloc(sizeof(IP_ADAPTER_INFO));
// retry up to 5 times, to get the adapter infos needed
for(int i = 0; i < 5 && (dwRetVal == ERROR_BUFFER_OVERFLOW || dwRetVal == NO_ERROR); ++i)
{
dwRetVal = GetAdaptersInfo(pAdapterInfos, &outBufLen);
if(dwRetVal == NO_ERROR)
{
break;
}
else if(dwRetVal == ERROR_BUFFER_OVERFLOW)
{
free(pAdapterInfos);
pAdapterInfos = (IP_ADAPTER_INFO*) malloc(outBufLen);
}
else
{
pAdapterInfos = 0;
break;
}
}
if(dwRetVal == NO_ERROR)
{
IP_ADAPTER_INFO* pAdapterInfo = pAdapterInfos;
while(pAdapterInfo)
{
IP_ADDR_STRING* pIpAddress = &(pAdapterInfo->IpAddressList);
while(pIpAddress != 0)
{
//
// <<<<
// here pAdapterInfo->Address should contain the MAC address
// >>>>
//
pIpAddress = pIpAddress->Next;
}
pAdapterInfo = pAdapterInfo->Next;
}
}
free(pAdapterInfos);
return false;
}
4
... Bu örnekler sadece ne gerek yapmakla get you started bir bağlantı vardır.
İlgili konular
- 1. Ağ adreslerini bulma
- 2. Win32 API?
- 3. Win32 API ile iş parçacıkları nasıl oluşturulur?
- 4. Nasıl Win32 uygulaması API ile çıkmak için?
- 5. C# Win32 API bildirimleri otomatik olarak nasıl çekilir?
- 6. Visual C++ Win32 API kullanarak Internet bağlantısı ayrıntıları nasıl bilinirim?
- 7. Ağ Yürütücüsünü İzleyin Mac
- 8. Süreçler ada göre nasıl öldürülür? (Win32 API)
- 9. WPF, wxWidgets, Win32 API ve MFC arasında seçim yapma
- 10. Win32 API oyun döngüsü
- 11. C++ Win32
- 12. Kitaplık başlatması - Win32 uygulamasında pthread_once
- 13. Düzenleme denetimim neden MFC kullanmadan win32 C++ uygulamasında tuhaf görünüyor?
- 14. C++ ve QML uygulamasında qrc nasıl kullanılır?
- 15. AWS Api Ağ Geçidi
- 16. Lambda'da API AWS API Ağ Geçidi üstbilgisi
- 17. C++ API nasıl çağırılır C#
- 18. Bir Mac uygulamasında, bir Mac uygulamasında Swift Xcode ile Çalıştır
- 19. Win32 C/C++ Görüntüyü bellek arabelleğinden yükleme
- 20. Imleç Konumunu bir Win32 Konsol Uygulamasında Ayarlama
- 21. WIN32 API WM_REFLECT iletisi nedir?
- 22. WMI kullanarak VB.NET 2008'de MAC ve IP Adreslerini eşleştirmek için başka bir yol var mı?
- 23. nasıl C API
- 24. AWS API Ağ Geçidi
- 25. Checkbox Win32 api C++ ile ilgili sorunlar kontrol edildi
- 26. C#: Bir aralıktaki IP adreslerini numaralandır
- 27. Java programından Win32 API yöntemini çağırma
- 28. diziyi sıralar
- 29. Logback'te SMTPAppender'daki "to" adreslerini nasıl güncelleştiririm?
- 30. İşlev parametrelerini temel alarak bir Win32 API işlevinde nasıl kırılabilirim?
Neden pAdapterInfos yığın yerine mallock kullanarak ayırıyor? – user626528
Arabellek daha büyük olduğundan, yalnızca bu bir yapı. Döngü, boyut parametresini günceller. – Christopher
(Evet, bu cevabın eski olduğunu biliyorum.) Bu kodun bit ve parçaları açıklayan birkaç yorumdan ziyade, düzyazılarda nasıl işlediğini açıklayabilir misiniz? –