Aracılığıyla paylaş


GetIpInterfaceTable işlevi

GetIpInterfaceTable işlevi, yerel bilgisayardaki IP arabirimi girdilerini alır.

Sözdizimi

NETIOAPI_API GetIpInterfaceTable(
  _In_  ADDRESS_FAMILY         Family,
  _Out_ PMIB_IPINTERFACE_TABLE *Table
);

Parametre

  • Aile [in]
    Alınacak IP arabirimlerinin 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.

    • AF_INET6
      IPv6 adres ailesi.

    • AF_UNSPEC
      Adres ailesi belirtilmemiş. Bu değer belirtildiğinde, GetIpInterfaceTable işlevi hem IPv4 hem de IPv6 girdilerini içeren IP arabirimi tablosunu döndürür.

  • Tablo [out]
    MIB_IPINTERFACE_TABLE yapısında IP arabirimi girdileri tablosunu alan bir arabelleğe yönelik işaretçi.

Dönüş değeri

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

İşlev başarısız olursa GetIpInterfaceTable 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 arabirimi girdisi bulunamadı.

STATUS_NOT_SUPPORTED

İşlev desteklenmez. Adresi parametresinde belirtilen IP aktarımı yerel bilgisayarda yapılandırılmadığında 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

GetIpInterfaceTable işlevi, yerel bilgisayardaki IP arabirimlerini numaralandırır ve bu bilgileri MIB_IPINTERFACE_TABLE bir yapıda döndürür.

GetIpInterfaceTable, Tablo parametresinin işaret olduğu arabellekteki MIB_IPINTERFACE_TABLE bir yapıda IP arabirimi girdilerini döndürür. MIB_IPINTERFACE_TABLE yapısı bir IP arabirimi giriş sayısı ve her IP arabirimi girişi için bir dizi MIB_IPINTERFACE_ROW yapısı içerir. Döndürülen bu yapılar artık gerekli olmadığında, sürücünüz FreeMibTable işlevini çağırarak belleği boşaltmalıdır.

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

Tablo parametresinin işaret olduğu döndürülen MIB_IPINTERFACE_TABLE yapısının, NumEntries üyesi ile MIB_IPINTERFACE_TABLE yapısının Tablo üyesindeki ilk MIB_IPINTERFACE_ROW dizi girişi arasında hizalama için doldurma içerebileceğini unutmayın. MIB_IPINTERFACE_ROW dizi girişleri arasında hizalama için doldurma da bulunabilir. MIB_IPINTERFACE_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

MIB_IPINTERFACE_ROW

MIB_IPINTERFACE_TABLE

MIB_IPNET_ROW2

MIB_IPNET_TABLE2