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.
NotifyIpInterfaceChange işlevi, yerel bilgisayardaki tüm IP arabirimlerinde, IPv4 arabirimlerinde veya IPv6 arabirimlerinde yapılan değişiklikler için bildirim almak üzere sürücüyü kaydeder.
Sözdizimi
NETIOAPI_API NotifyIpInterfaceChange(
_In_ ADDRESS_FAMILY Family,
_In_ PIPINTERFACE_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 değişiklik bildirimleri için bilgilendirilecek şekilde kaydeder.AF_INET6
IPv6 adres ailesi. Bu değer belirtildiğinde, bu işlev sürücüyü yalnızca IPv6 değişiklik bildirimleri için kaydeder.AF_UNSPEC
Adres ailesi belirtilmemiş. Bu değer belirtildiğinde, bu işlev hem IPv4 hem de IPv6 değişiklikleri için bildirim almak üzere 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, BIR IP arabiriminde 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]
Değişiklik bildiriminin kaydını kaldırmak için daha sonra kullanılabilecek bir tanıtıcı döndürmek için kullanılan 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
NotifyIpInterfaceChange işlevi başarılı olursa STATUS_SUCCESS döndürür.
İşlev başarısız olursa NotifyIpInterfaceChange 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 NotifyIpInterfaceChange işlevine geçirilen CallerContext parametresi. |
IN PMIB_IPINTERFACE_ROW Row OPTIONAL |
Değiştirilen arabirimin MIB_IPINTERFACE_ROW girdisine yönelik bir işaretçi. Geri çağırma işlevine NotificationType parametresinde geçirilen MIB_NOTIFICATION_TYPE değeri MibInitialNotificationolarak ayarlandığında bu parametre NULL işaretçisidir. Bu durum, yalnızca NotifyIpInterfaceChange geçirilen InitialNotification parametresi, değişiklik bildirimleri için sürücüyü 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 CancelMibChangeNotify2 işlevini çağırın ve NotifyIpInterfaceChange 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 |