Aracılığıyla paylaş


GetIpNetTable2 işlevi

GetIpNetTable2 işlevi, yerel bilgisayardaki IP komşu tablosunu alır.

Sözdizimi

NETIOAPI_API GetIpNetTable2(
  _In_  ADDRESS_FAMILY    Family,
  _Out_ PMIB_IPNET_TABLE2 *Table
);

Parametre

  • Aile [in]
    Alınacak adres ailesi.

    Adres ailesi için olası değerler Winsock2.h üst bilgi dosyasında listelenir. AF_ adres ailesi ve PF_ protokol ailesi sabitlerinin değerlerinin aynı olduğunu unutmayın (örneğin, AF_INET ve PF_INET), böylece sabitlerden birini kullanabilirsiniz.

    Windows Vista ve Windows işletim sistemlerinin sonraki sürümlerinde, Family parametresinin olası değerleri Ws2def.h üst bilgi dosyasında tanımlanır. Ws2def.h üst bilgi dosyasının Netioapi.h dosyasına otomatik olarak eklendiğini ve Ws2def.h dosyasını hiçbir zaman doğrudan kullanmamalısınız.

    Şu anda adres ailesi için aşağıdaki değerler desteklenmektedir:

    • AF_INET
      IPv4 adres ailesi. Bu değer belirtildiğinde, bu işlev yalnızca IPv4 girdilerini içeren komşu IP adresi tablosunu döndürür.

    • AF_INET6
      IPv6 adres ailesi. Bu değer belirtildiğinde, bu işlev yalnızca IPv6 girdilerini içeren komşu IP adresi tablosunu döndürür.

    • AF_UNSPEC
      Adres ailesi belirtilmemiş. Bu değer belirtildiğinde, bu işlev hem IPv4 hem de IPv6 girdilerini içeren komşu IP adresi tablosunu döndürür.

  • Tablo [out]
    Yerel bilgisayardaki komşu IP adresi girdilerinin tablosunu içeren bir MIB_IPNET_TABLE2 yapısına yönelik işaretçi.

Dönüş değeri

getIpNetTable2 , işlev başarılı olursa STATUS_SUCCESS döndürür.

İşlev başarısız olursa GetIpNetTable2 aşağıdaki hata kodlarından birini döndürür:

İade kodu Açıklama
STATUS_INVALID_PARAMETER

İşleve geçersiz bir parametre geçirildi. Tablo parametresinde bir NULL işaretçisi geçirilirse veya Family parametresi AF_INET, AF_INET6 veya AF_UNSPEC olarak belirtilmezse bu hata döndürülür.

STATUS_NOT_ENOUGH_MEMORY

İşlemi tamamlamak için yeterli bellek kaynağı yok.

STATUS_NOT_FOUND

Family parametresinde belirtilen komşu IP adresi girdisi bulunamadı.

STATUS_NOT_SUPPORTED

İstek desteklenmiyor. Yerel bilgisayarda IPv4 yığını yoksa ve Family parametresinde AF_INET belirtildiyse veya yerel bilgisayarda IPv6 yığını yoksa ve Family parametresinde AF_INET6 belirtildiyse bu hata döndürülür. Bu hata, bu işlevin desteklenmediği Windows sürümlerinde de 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

GetIpNetTable2 işlevi, yerel bilgisayardaki komşu IP adreslerini numaralandırır ve bu bilgileri MIB_IPNET_TABLE2 bir yapıda döndürür.

GetIpNetTable2 , Tablo parametresinin işaret MIB_IPNET_TABLE2 bir yapıdaki komşu IP adresi girdilerini arabellekte döndürür. MIB_IPNET_TABLE2 yapısı bir komşu IP adresi giriş sayısı ve her komşu IP adresi girişi için bir MIB_IPNET_ROW2 yapıları dizisi içerir. Döndürülen bu yapılar artık gerekli olmadığında, sürücünüz FreeMibTableçağırarak belleği boşaltmalıdır.

Sürücünüzün AF_INET, AF_INET6 veya AF_UNSPEC için Family parametresini başlatması gerekir.

Tablo parametresinin işaret olduğu döndürülen MIB_IPNET_TABLE2 yapısının, NumEntries üyesi ile MIB_IPNET_TABLE2 yapısının Tablo üyesindeki ilk MIB_IPNET_ROW2 dizi girişi arasında hizalama için doldurma içerebileceğini unutmayın. Hizalama için doldurma, MIB_IPNET_ROW2 dizi girişleri arasında da bulunabilir. MIB_IPNET_ROW2 dizi girişine yapılan tüm erişimlerde doldurmanın mevcut olabileceği varsayılmalıdı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

Ayrıca bkz.

CreateIpNetEntry2

FlushIpNetTable2

FreeMibTable

GetIpNetEntry2

MIB_IPNET_ROW2

MIB_IPNET_TABLE2

ResolveIpNetEntry2

SetIpNetEntry2