Fungsi NotifyUnicastIpAddressChange

Fungsi NotifyUnicastIpAddressChange mendaftarkan driver untuk diberi tahu tentang perubahan pada semua antarmuka IP unicast, alamat IPv4 unicast, atau alamat IPv6 unicast di komputer lokal.

Sintaksis

NETIOAPI_API NotifyUnicastIpAddressChange(
  _In_    ADDRESS_FAMILY                     Family,
  _In_    PUNICAST_IPADDRESS_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 mendaftarkan driver hanya untuk pemberitahuan perubahan alamat IPv4 unicast.

    • AF_INET6
      Keluarga alamat IPv6. Ketika nilai ini ditentukan, fungsi mendaftarkan driver hanya untuk pemberitahuan perubahan alamat IPv6 unicast.

    • AF_UNSPEC
      Keluarga alamat tidak ditentukan. Ketika nilai ini ditentukan, fungsi mendaftarkan driver untuk pemberitahuan perubahan alamat IPv4 dan IPv6 unicast.

  • Callback [in]
    Penunjuk ke fungsi untuk memanggil saat perubahan terjadi. Fungsi ini dipanggil ketika pemberitahuan alamat IP unicast 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 bahwa perubahan terjadi pada alamat IP unicast. Parameter ini memberikan konfirmasi bahwa panggilan balik terdaftar.

  • NotificationHandle [in, out]
    Penunjuk yang digunakan untuk mengembalikan handel yang nantinya dapat digunakan driver Anda untuk membatalkan pendaftaran pemberitahuan perubahan driver. Setelah berhasil, handel pemberitahuan dikembalikan dalam parameter ini. Jika terjadi kesalahan, NULL dikembalikan.

Mengembalikan nilai

NotifyUnicastIpAddressChange mengembalikan STATUS_SUCCESS jika fungsi berhasil.

Jika fungsi gagal, NotifyUnicastIpAddressChange 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 NotifyUnicastIpAddressChange saat mendaftarkan driver untuk pemberitahuan perubahan.

BARIS PMIB_UNICASTIPADDRESS_ROW OPSIONAL

Penunjuk ke entri MIB_UNICASTIPADDRESS_ROW untuk alamat IP unicast 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 NotifyUnicastIpAddressChange 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 NotifyUnicastIpAddressChange 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

Lihat juga

CancelMibChangeNotify2

CreateUnicastIpAddressEntry

DeleteUnicastIpAddressEntry

GetUnicastIpAddressEntry

GetUnicastIpAddressTable

InitializeUnicastIpAddressEntry

MIB_NOTIFICATION_TYPE

MIB_UNICASTIPADDRESS_ROW

MIB_UNICASTIPADDRESS_TABLE

NotifyStableUnicastIpAddressTable

SetUnicastIpAddressEntry