Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
NotifyRouteChange2 işlevi, yerel bilgisayardaki IP yolu girişlerinde yapılan değişiklikler için bildirim almak üzere sürücüyü kaydeder.
Sözdizimi
NETIOAPI_API NotifyRouteChange2(
_In_ ADDRESS_FAMILY Family,
_In_ PIPFORWARD_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE *NotificationHandle
);
Parametre
Aile [in]
Değişiklik bildirimleri için sürücüyü kaydedecek 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 sürücüyü yalnızca IPv4 yol değişikliği bildirimleri için kaydeder.AF_INET6
IPv6 adres ailesi. Bu değer belirtildiğinde, bu işlev sürücüyü yalnızca IPv6 yol değişikliği bildirimleri için kaydeder.AF_UNSPEC
Adres ailesi belirtilmemiş. Bu değer belirtildiğinde, bu işlev hem IPv4 hem de IPv6 yol değişikliği bildirimleri için sürücüyü kaydeder.
Geri Çağırma [in]
Bir değişiklik gerçekleştiğinde çağrılacak işlev işaretçisi. Bu işlev, arabirim bildirimi alındığında çağrılır.CallerContext [in]
Arabirim bildirimi alındığında Geri Çağırma parametresinde belirtilen geri çağırma işlevine geçirilen kullanıcı bağlamı.InitialNotification [in]
Değişiklik 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, IP yolunda bir değişiklik olduğunu göstermez. Bu parametrenin amacı, geri çağırmanın kaydedildiğini onaylayan bir onay sağlamaktır.NotificationHandle [in, out]
Başlatılabilir MIB_IPINTERFACE_ROW yapısının işaretçisi. Başarılı dönüşte, bu yapıdaki üyeler yerel bilgisayardaki bir arabirim için varsayılan bilgilerle başlatılır.
Dönüş değeri
NotifyRouteChange2 işlevin başarılı olması durumunda STATUS_SUCCESS döndürür.
İşlev başarısız olursa NotifyRouteChange2 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. 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
Sürücünüz Family parametresini AF_INET, AF_INET6 veya AF_UNSPEC olarak ayarlamalıdır.
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 NotifyRouteChange2 işlevine geçirilen CallerContext parametresi. |
IN PMIB_IPFORWARD_ROW2 Row OPTIONAL |
Değiştirilen IP yolu girişi için MIB_IPFORWARD_ROW2 girdisine yönelik bir işaretçi. Geri çağırma işlevine NotificationType parametresinde geçirilen MIB_NOTIFICATION_TYPE değeri MibInitialNotification olarak ayarlandığında bu parametre NULL işaretçisidir. Bu durum, yalnızca NotifyRouteChange2 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. |
Değişiklik bildirimlerinin sürücüsünün kaydını kaldırmak için, NotifyRouteChange2 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 |