Aracılığıyla paylaş


GetIpForwardTable2 işlevi

GetIpForwardTable2 işlevi, yerel bilgisayardaki IP yolu girdilerini alır.

Sözdizimi

NETIOAPI_API GetIpForwardTable2(
  _In_  ADDRESS_FAMILY        Family,
  _Out_ PMIB_IPFORWARD_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 IP yönlendirme 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 yönlendirme 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 yönlendirme tablosunu döndürür.

  • Tablo [out]
    Yerel bilgisayardaki IP yolu girdileri tablosunu içeren bir MIB_IPFORWARD_TABLE2 yapısına yönelik işaretçi.

Dönüş değeri

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

İşlev başarısız olursa GetIpForwardTable2 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

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

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

CreateIpForwardEntry2

DeleteIpForwardEntry2

FreeMibTable

GetBestRoute2

GetIpForwardEntry2

InitializeIpForwardEntry

MIB_IPFORWARD_ROW2

MIB_IPFORWARD_TABLE2

NotifyRouteChange2

SetIpForwardEntry2