Aracılığıyla paylaş


NotifyTeredoPortChange işlevi

NotifyTeredoPortChange işlevi, Teredo istemcisinin yerel bilgisayardaki Teredo hizmet bağlantı noktası için kullandığı UDP bağlantı noktası numarasında yapılan değişiklikler için bildirim almak üzere sürücüyü kaydeder.

Sözdizimi

NETIOAPI_API NotifyTeredoPortChange(
  _In_    PTEREDO_PORT_CHANGE_CALLBACK Callback,
  _In_    PVOID                        CallerContext,
  _In_    BOOLEAN                      InitialNotification,
  _Inout_ HANDLE *                     NotificationHandle
);

Parametre

  • Geri Çağırma [in]
    Teredo istemci bağlantı noktası değişikliği gerçekleştiğinde çağrılacak işlev işaretçisi. Bu işlev, bir Teredo bağlantı noktası değişiklik bildirimi alındığında çağrılır.

  • CallerContext [in]
    Bir Teredo bağlantı noktası değişiklik bildirimi alındığında Geri Çağırma parametresinde belirtilen geri çağırma işlevine geçirilen kullanıcı bağlamı.

  • InitialNotification [in]
    Sürücü değişikliği bildirimi kaydı tamamlandıktan hemen sonra geri çağırmanın çağrılıp çağrılmayacağını gösteren bir değer. Bu ilk bildirim, Teredo istemci bağlantı noktasında bir değişiklik olduğunu göstermez. Bu parametre geri çağırmanın kaydedildiğini onaylar.

  • NotificationHandle [in, out]
    Sürücünüzün daha sonra sürücü değişikliği bildiriminin kaydını kaldırmak için kullanabileceği bir tanıtıcı döndürmek için kullanılan bir işaretçi. Başarılı olduğunda, bu parametrede bir bildirim tanıtıcısı döndürülür. Hata oluşursa NULL döndürülür.

Dönüş değeri

NotifyTeredoPortChange işlevi başarılı olursa STATUS_SUCCESS döndürür.

İşlev başarısız olursa NotifyTeredoPortChange 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. Geri Çağırma parametresi NULL işaretçisiyse 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

Geri Çağırma parametresinde belirtilen geri çağırma işlevinin çağrılması seri hale getirilir. 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ü değişiklik bildirimleri için kaydederken NotifyTeredoPortChange işlevine geçirilen CallerContext parametresi.

USHORT Bağlantı Noktası

Teredo istemcisinin şu anda kullandığı UDP bağlantı noktası numarası. Geri çağırma işlevine NotificationType parametresinde geçirilen MIB_NOTIFICATION_TYPE değeri MibInitialNotificationolarak ayarlandığında bu parametre sıfırdır. Bu durum yalnızca NotifyTeredoPortChange geçirilen InitialNotification parametresi, sürücüyü değişiklik bildirimleri için kaydederken TRUE olarak ayarlandıysa oluşabilir.

IN MIB_NOTIFICATION_TYPE NotificationType

Bildirim türü. Bu üye, MIB_NOTIFICATION_TYPE numaralandırma türündeki değerlerden biri olabilir.

Sürücünüz, Teredo istemcisinin Teredo hizmet bağlantı noktası için kullandığı ilk UDP bağlantı noktası numarasını almak için GetTeredoPort işlevini kullanabilir.

Teredo bağlantı noktası dinamiktir ve Teredo istemcisi yerel bilgisayarda yeniden başlatıldığında değişebilir. Bir sürücü, NotifyTeredoPortChange işlevini çağırarak Teredo hizmet bağlantı noktası değiştiğinde bildirim almak üzere kaydolabilir.

Teredo istemcisi, RFC 4380'de tanımlandığı gibi çok noktaya yayın IPv4 adresi 224.0.0.253'te gönderilen çok noktaya yayın trafiğini dinlemek için statik UDP bağlantı noktası 3544'i de kullanır. Daha fazla bilgi için bkz. Teredo: UDPthrough Ağ Adresi Çevirileri (NAT)üzerinden IPv6 tüneli oluşturma.

NotifyTeredoPortChange işlevi öncelikle güvenlik duvarı sürücüleri tarafından gelen ve giden Teredo trafiğini etkinleştirmek üzere uygun özel durumları yapılandırmak için kullanılır.

Değişiklik bildirimlerinin sürücüsünün kaydını kaldırmak için CancelMibChangeNotify2 işlevini çağırın ve NotifyTeredoPortChange işlevinin döndürdüğü NotificationHandle parametresini geçirin.

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

GetTeredoPort

NotifyStableUnicastIpAddressTable