Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi NotifyIpInterfaceChange mendaftarkan driver yang akan diberi tahu tentang perubahan pada semua antarmuka IP, antarmuka IPv4, atau antarmuka IPv6 di komputer lokal.
Sintaksis
NETIOAPI_API NotifyIpInterfaceChange(
_In_ ADDRESS_FAMILY Family,
_In_ PIPINTERFACE_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE *NotificationHandle
);
Parameter
Family [in]
Keluarga alamat untuk mendaftarkan driver untuk mengubah pemberitahuan.Nilai yang mungkin untuk keluarga alamat tercantum dalam file header Winsock2.h. Perhatikan bahwa nilai untuk keluarga alamat AF_ dan konstanta keluarga protokol PF_ identik (misalnya, AF_INET dan PF_INET), sehingga Anda dapat menggunakan konstanta.
Pada Windows Vista dan versi sistem operasi Windows yang lebih baru, nilai yang mungkin untuk parameter Keluarga didefinisikan dalam file header Ws2def.h. Perhatikan bahwa file header Ws2def.h secara otomatis disertakan dalam Netioapi.h dan Anda tidak boleh menggunakan Ws2def.h secara langsung.
Nilai berikut saat ini didukung untuk keluarga alamat:
AF_INET
Keluarga alamat IPv4. Ketika nilai ini ditentukan, fungsi ini mendaftarkan driver untuk diberi tahu hanya untuk pemberitahuan perubahan IPv4.AF_INET6
Keluarga alamat IPv6. Ketika nilai ini ditentukan, fungsi ini mendaftarkan driver hanya untuk pemberitahuan perubahan IPv6.AF_UNSPEC
Keluarga alamat tidak ditentukan. Ketika nilai ini ditentukan, fungsi ini mendaftarkan driver yang akan diberi tahu untuk perubahan IPv4 dan IPv6.
Callback [in]
Penunjuk ke fungsi untuk memanggil saat perubahan terjadi. Fungsi ini dipanggil ketika pemberitahuan antarmuka diterima.CallerContext [in]
Konteks pengguna yang diteruskan ke fungsi panggilan balik yang ditentukan dalam parameter Callback saat pemberitahuan antarmuka diterima.InitialNotification [in]
Nilai yang menunjukkan apakah panggilan balik harus segera dipanggil setelah pendaftaran untuk pemberitahuan perubahan selesai. Pemberitahuan awal ini tidak menunjukkan perubahan yang terjadi pada antarmuka IP. Tujuan parameter ini untuk memberikan konfirmasi bahwa panggilan balik terdaftar.NotificationHandle [in, out]
Penunjuk yang digunakan untuk mengembalikan handel yang nantinya dapat digunakan untuk membatalkan pendaftaran pemberitahuan perubahan. Setelah berhasil, handel pemberitahuan dikembalikan dalam parameter ini. Jika terjadi kesalahan, NULL dikembalikan.
Mengembalikan nilai
NotifyIpInterfaceChange mengembalikan STATUS_SUCCESS jika fungsi berhasil.
Jika fungsi gagal, NotifyIpInterfaceChange mengembalikan salah satu kode kesalahan berikut:
| Mengembalikan kode | Deskripsi |
|---|---|
| ERROR_INVALID_HANDLE | Terjadi kesalahan internal ketika handel yang tidak valid ditemukan. |
| STATUS_INVALID_PARAMETER | Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika parameter Keluarga tidak AF_INET, AF_INET6, atau AF_UNSPEC. |
| STATUS_NOT_ENOUGH_MEMORY | Memori tidak cukup. |
| Lainnya | Gunakan fungsi FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan. |
Komentar
Driver Anda harus mengatur parameter Keluarga ke AF_INET, AF_INET6, atau AF_UNSPEC.
Pemanggilan fungsi panggilan balik yang ditentukan dalam parameter Callback diserialisasikan. Fungsi panggilan balik harus didefinisikan sebagai fungsi jenis VOID. Parameter yang diteruskan ke fungsi panggilan balik mencakup yang berikut ini.
| Parameter | Deskripsi |
|---|---|
DALAM PVOID CallerContext |
Parameter CallerContext yang diteruskan ke fungsi NotifyIpInterfaceChange saat mendaftarkan driver untuk pemberitahuan perubahan. |
DI Baris PMIB_IPINTERFACE_ROW OPSIONAL |
Penunjuk ke entri MIB_IPINTERFACE_ROW untuk antarmuka yang diubah. Parameter ini adalah penunjuk NULL ketika nilai MIB_NOTIFICATION_TYPE yang diteruskan dalam parameter NotificationType ke fungsi panggilan balik diatur ke MibInitialNotification. Situasi ini hanya dapat terjadi jika parameter InitialNotification yang diteruskan ke NotifyIpInterfaceChange diatur ke TRUE saat mendaftarkan driver untuk pemberitahuan perubahan. |
IN MIB_NOTIFICATION_TYPE NotificationType |
Jenis pemberitahuan. Anggota ini bisa menjadi salah satu nilai dari jenis enumerasi MIB_NOTIFICATION_TYPE. |
Untuk membatalkan pendaftaran driver untuk pemberitahuan perubahan, panggil fungsiCancelMibChangeNotify2, melewati parameter NotificationHandle yang NotifyIpInterfaceChange kembali.
Persyaratan
Platform target |
Universal |
Versi |
Tersedia di Windows Vista dan versi sistem operasi Windows yang lebih baru. |
Header |
Netioapi.h (termasuk Netioapi.h) |
Perpustakaan |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |