Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
ResolveIpNetEntry2 işlevi, yerel bilgisayardaki komşu IP adresi girişinin fiziksel adresini çözümler.
Sözdizimi
NETIOAPI_API ResolveIpNetEntry2(
_Inout_ PMIB_IPNET_ROW2 Row,
_In_opt_ const SOCKADDR_INET *SourceAddress
);
Parametre
Satır [in, out]
Komşu IP adresi girdisi için MIB_IPNET_ROW2 yapı girdisine yönelik bir işaretçi. Başarılı dönüşte, bu yapı komşu IP adresinin özellikleriyle güncelleştirilir.sourceaddress [in, optional]
Komşu IP adresi girdisi için isteklerin gönder kullanılacağı arabirimi seçmek için kullanılan isteğe bağlı bir kaynak IP adresinin işaretçisi.
Dönüş değeri
ResolveIpNetEntry2 işlevi başarılı olursa STATUS_SUCCESS döndürür.
İşlev başarısız olursa ResolveIpNetEntry2 aşağıdaki hata kodlarından birini döndürür:
| İade kodu | Açıklama |
|---|---|
| STATUS_BAD_NETWORK_NAME | Ağ adı bulunamıyor. Komşu IP adresine sahip ağa ulaşılamıyorsa bu hata döndürülür. |
| STATUS_INVALID_PARAMETER | İşleve geçersiz bir parametre geçirildi. Satırı parametresinde NULL işaretçisi geçirilirse bu hata döndürülür. Satırı parametresinin işaretdiği MIB_IPNET_ROW2 yapısının Adresi üyesi geçerli bir IPv4 veya IPv6 adresine ayarlanmamış ya da MIB_IPNET_ROW2 yapısının InterfaceLuid ve InterfaceIndex üyeleri belirtilmemişti. Bu hata, Adresi üyesine geri döngü adresi geçirildiyse de döndürülür. |
| STATUS_NOT_FOUND | Belirtilen arabirim bulunamadı. İşlev, Satır parametresinin işaret ettiği MIB_IPNET_ROW2 yapısının InterfaceLuid veya InterfaceIndex üyesi tarafından belirtilen ağ arabirimini bulamazsa bu hata döndürülür. |
| STATUS_NOT_SUPPORTED | İstek desteklenmiyor. Yerel bilgisayarda IPv4 yığını yoksa ve Satırı parametresinin işaret MIB_IPNET_ROW2 yapısının Adresi üyesinde bir IPv4 adresi belirtildiyse veya yerel bilgisayarda IPv6 yığını yoksa ve Adresi üyesinde bir IPv6 adresi belirtildiyse bu hata döndürülür. |
| Diğer | Döndürülen hatanın ileti dizesini almak için FormatMessage işlevini kullanın. |
Açıklamalar
ResolveIpNetEntry2 işlevi, yerel bilgisayardaki komşu IP adresi girişinin fiziksel adresini çözümlemek için kullanılır. Bu işlev, arabirimdeki IP adresiyle eşleşen mevcut tüm komşu girdilerini temizler ve ardından bir IPv4 adresi için ARP istekleri veya bir IPv6 adresi için Komşu İsteği (NS) istekleri göndererek fiziksel adres (MAC) adresini çözümler. SourceAddress parametresi belirtilirse, ResolveIpNetEntry2 istekleri göndermek için bu kaynak IP adresine sahip arabirimi seçer. SourceAddress parametresi belirtilmezse (bu parametrede NULL geçirildi), ResolveIpNetEntry2 istekleri göndermek için en iyi arabirimi otomatik olarak seçer.
Sürücünüz, Satırı parametresinin işaret MIB_IPNET_ROW2 yapısının aşağıdaki üyelerini başlatmalıdır.
Adresi
Geçerli bir IPv4 veya IPv6 adresi ve ailesi olarak ayarlayın.InterfaceLuid veya InterfaceIndex
Bu üyeler daha önce listelenen sırayla kullanılır. Bu nedenle InterfaceLuid belirtilirse, arabirimi belirlemek için bu üye kullanılır. InterfaceLuid üyesi için değer ayarlanmadıysa (bu üyenin değeri sıfır olarak ayarlandı), arabirimi belirlemek için InterfaceIndex üyesi kullanılır.
Satırı parametresinin işaret MIB_IPNET_ROW2 yapısının Adresi üyesine geçirilen IP adresi arabirimdeki mevcut bir komşu IP adresinin kopyasıysa, ResolveIpNetEntry2 işlevi IP adresini çözümlemeden önce var olan girişi temizler.
Çıktıda, çağrı başarılı olduğunda ResolveIpNetEntry2 komşu IP adresinin diğer özelliklerini alır ve Satırı parametresinin işaret MIB_IPNET_ROW2 yapısını doldurur. MIB_IPNET_ROW2 yapısındaki PhysicalAddress ve PhysicalAddressLength üyeleri geçerli bir fiziksel adrese başlatılır.
Gereksinim -leri
Hedef platform |
Evrensel |
Sürüm |
Windows Vista ve Windows işletim sistemlerinin sonraki sürümlerinde kullanılabilir. |
Üstbilgi |
Netioapi.h (Netioapi.h içerir) |
Kütüphane |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |