Aracılığıyla paylaş


GetAnycastIpAddressTable işlevi

GetAnycastIpAddressTable işlevi, yerel bilgisayardaki herhangi bir yayın IP adresi tablosunu alır.

Sözdizimi

NETIOAPI_API GetAnycastIpAddressTable(
  _In_  ADDRESS_FAMILY              Family,
  _Out_ PMIB_ANYCASTIPADDRESS_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 herhangi bir noktaya yayın 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 herhangi bir yayın 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 herhangi bir yayın IP adresi tablosunu döndürür.

  • Tablo [out]
    Yerel bilgisayardaki herhangi bir yayın IP adresi girdisinin tablosunu içeren MIB_ANYCASTIPADDRESS_TABLE yapısına yönelik bir işaretçi.

Dönüş değeri

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

İşlev başarısız olursa GetAnycastIpAddressTable 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 herhangi bir yayın 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

GetAnycastIpAddressTable işlevi yerel bilgisayardaki tüm yayın IP adreslerini numaralandırır ve bu bilgileri MIB_ANYCASTIPADDRESS_TABLE bir yapıda döndürür.

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

MIB_ANYCASTIPADDRESS_TABLE