Aracılığıyla paylaş


NotifyStableUnicastIpAddressTable işlevi

NotifyStableUnicastIpAddressTable işlevi, yerel bilgisayardaki kararlı tek noktaya yayın IP adresi tablosunu alır.

Sözdizimi

NETIOAPI_API NotifyStableUnicastIpAddressTable(
  _In_    ADDRESS_FAMILY                           Family,
  _Out_   PMIB_UNICASTIPADDRESS_TABLE              *Table,
  _In_    PSTABLE_UNICAST_IPADDRESS_TABLE_CALLBACK CallerCallback,
  _In_    PVOID                                    CallerContext,
  _Inout_ HANDLE                                   *NotificationHandle
);

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 işlev, yalnızca IPv4 girdilerini içeren kararlı tek noktaya yayın IP adresi tablosunu alır.

    • AF_INET6
      IPv6 adres ailesi. Bu değer belirtildiğinde işlev, yalnızca IPv6 girdilerini içeren kararlı tek noktaya yayın IP adresi tablosunu alır.

    • AF_UNSPEC
      Adres ailesi belirtilmemiş. Bu değer belirtildiğinde işlev, hem IPv4 hem de IPv6 girdilerini içeren kararlı tek noktaya yayın IP adresi tablosunu alır.

  • Tablo [out]
    MIB_UNICASTIPADDRESS_TABLE yapısının işaretçisi. NotifyStableUnicastIpAddressTable başarılı olduğunda, bu parametre yerel bilgisayardaki kararlı tek noktaya yayın IP adresi tablosunu döndürür.

    NotifyStableUnicastIpAddressTable G/Ç isteğinin beklemede olduğunu belirten ERROR_IO_PENDING döndürdüğünde, kararlı tek noktaya yayın IP adresi tablosu CallerCallback parametresindeki işleve döndürülür.

  • CallerCallback [in]
    Kararlı tek noktaya yayın IP adresi tablosuyla çağrılacak işlevin işaretçisi. NotifyStableUnicastIpAddressTable ERROR_IO_PENDING döndürdüğünde bu işlev çağrılır ve bu da G/Ç isteğinin beklemede olduğunu gösterir.

  • CallerContext [in]
    Kararlı tek noktaya yayın IP adresi tablosu kullanılabilir olduğunda CallerCallback parametresinde belirtilen geri çağırma işlevine geçirilen kullanıcı bağlamı.

  • NotificationHandle [in, out]
    Sürücünüzün kararlı tek noktaya yayın IP adresi tablosunu alma isteğini iptal etmek için kullanabileceği bir tanıtıcı döndürmek için kullanılan işaretçi. bu parametre, NotifyStableUnicastIpAddressTable döndürülen değerin ERROR_IO_PENDING olması G/Ç isteğinin beklemede olduğunu gösterir.

Dönüş değeri

NotifyStableUnicastIpAddressTable STATUS_SUCCESS döndürür ve işlev hemen başarılı olursa Tablo parametresinde kararlı tek noktaya yayın IP tablosu döndürülür.

G/Ç isteği bekliyorsa işlev ERROR_IO_PENDING döndürür ve G/Ç isteği kararlı tek noktaya yayın IP adresi tablosuyla tamamlandığında CallerCallback parametresinin işaretdiği işlev çağrılır.

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

İade kodu Açıklama
ERROR_INVALID_HANDLE

Geçersiz tanıtıcıyla karşılaşıldığında bir iç hata oluştu.

STATUS_INVALID_PARAMETER

İşleve geçersiz bir parametre geçirildi. Tablo parametresi NULL işaretçisi, NotificationHandle parametresi NULL işaretçisiyse veya Family parametresi AF_INET, AF_INET6 veya AF_UNSPEC değilse bu hata döndürülür.

STATUS_NOT_ENOUGH_MEMORY

Bellek yetersizdi.

Diğer

Döndürülen hatanın ileti dizesini almak için FormatMessage işlevini kullanın.

Açıklamalar

İsteğe bağlı arama adresleri dışında tüm tek noktaya yayın IP adresleri, yalnızca tercih edilen durumdaysa kararlı olarak kabul edilir. Normal bir tek noktaya yayın IP adresi girişi için, bu durum ipdadstatepreferred olarak ayarlanmış IP adresi için MIB_UNICASTIPADDRESS_ROWDadState üyesine karşılık gelir. İsteğe bağlı her arayarak bağlanma adresi kendi kararlılık ölçümünü tanımlar. Şu anda NotifyStableUnicastIpAddressTable işlevinin göz önünde bulundurduğunu tek isteğe bağlı arama adresi, Teredo istemcisinin yerel bilgisayarda kullandığı tek noktaya yayın IP adresidir.

Sürücünüz Family parametresini AF_INET, AF_INET6 veya AF_UNSPEC olarak ayarlamalıdır.

NotifyStableUnicastIpAddressTable başarılı olduğunda ve STATUS_SUCCESS döndürdüğünde, Tablo parametresi yerel bilgisayardaki kararlı tek noktaya yayın IP adresi tablosunu döndürür.

NotifyStableUnicastIpAddressTable G/Ç isteğinin beklemede olduğunu belirten ERROR_IO_PENDING döndürdüğünde, kararlı tek noktaya yayın IP adresi tablosu CallerCallback parametresindeki işleve döndürülür.

Teredo'nın kullandığı tek noktaya yayın IP adresi yerel bilgisayarda kullanılabiliyorsa ancak kararlı (nitelikli) durumda değilse NotifyStableUnicastIpAddressTable ERROR_IO_PENDING döndürür ve kararlı tek noktaya yayın IP adresi tablosu sonunda CallerCallback parametresindeki işlevi çağrılarak döndürülür. Teredo adresi kullanılamıyorsa veya kararlı durumdaysa ve diğer tek noktaya yayın IP adresleri kararlı durumdaysa, CallerCallback parametresindeki işlev hiçbir zaman çağrılmaz.

CallerCallback parametresinde belirtilen geri çağırma işlevi, VOID türünde bir işlev olarak tanımlanmalıdır. Geri çağırma işlevine geçirilen parametreler aşağıdakileri içerir.

Parametre Açıklama

IN PVOID CallerContext

Sürücüyü bildirimler için kaydederken NotifyStableUnicastIpAddressTable işlevine geçirilen CallerContext parametresi.

IN PMIB_UNICASTIPADDRESS_TABLE AddressTable

Yerel bilgisayardaki kararlı tek noktaya yayın IP adresi tablosunu içeren bir MIB_UNICASTIPADDRESS_TABLE yapısının işaretçisi.

NotifyStableUnicastIpAddressTable işlevi öncelikle Teredo istemcisini kullanan sürücüler tarafından kullanılır.

Geri çağırma tamamlandıktan sonra bildirimi iptal etmek için NotifyStableUnicastIpAddressTable döndüren NotificationHandle parametresi ni geçirerek CancelMibChangeNotify2 işlevini çağırın.

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.

CancelMibChangeNotify2

CreateUnicastIpAddressEntry

DeleteUnicastIpAddressEntry

GetTeredoPort

GetUnicastIpAddressEntry

GetUnicastIpAddressTable

InitializeUnicastIpAddressEntry

MIB_NOTIFICATION_TYPE

MIB_UNICASTIPADDRESS_ROW

MIB_UNICASTIPADDRESS_TABLE

NotifyTeredoPortChange

NotifyUnicastIpAddressChange

SetUnicastIpAddressEntry