Aracılığıyla paylaş


GetIpPathTable işlevi

GetIpPathEntry işlevi, yerel bilgisayardaki bir IP yolu girdisinin bilgilerini alır.

Sözdizimi

NETIOAPI_API GetIpPathTable(
  _In_  ADDRESS_FAMILY    Family,
  _Out_ PMIB_IPPATH_TABLE *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 IP yolu tablosunu döndürür.

    • AF_INET6
      IPv6 adres ailesi. Bu değer belirtildiğinde, bu işlev yalnızca IPv6 girdilerini içeren IP yolu 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 IP yolu tablosunu döndürür.

  • Tablo [out]
    Yerel bilgisayardaki IP yolu girdileri tablosunu içeren bir MIB_IPPATH_TABLE yapısının işaretçisi.

Dönüş değeri

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

İşlev başarısız olursa GetIpPathEntry 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 belirtildiği gibi HIÇBIR IP yolu 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

GetIpPathTable işlevi, yerel bilgisayardaki IP yolu girdilerini numaralandırır ve bu bilgileri MIB_IPPATH_TABLE bir yapıda döndürür.

getIpPathTable , Tablo parametresinin işaret olduğu arabellekteki MIB_IPPATH_TABLE bir yapıdaki IP yolu girdilerini döndürür. MIB_IPPATH_TABLE yapısı bir IP yolu giriş sayısı ve her IP yolu girişi için bir dizi MIB_IPPATH_ROW yapısı 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_IPPATH_TABLE yapısının, NumEntries üyesi ile MIB_IPPATH_TABLE yapısının Tablo üyesindeki ilk MIB_IPPATH_ROW dizi girişi arasında hizalama için doldurma içerebileceğini unutmayın. Hizalama için doldurma, MIB_IPPATH_ROW dizi girişleri arasında da bulunabilir. MIB_IPPATH_ROW 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.

FreeMibTable

FlushIpPathTable

GetIpPathEntry

MIB_IPPATH_ROW

MIB_IPPATH_TABLE