Fungsi NotifyTeredoPortChange
Fungsi NotifyTeredoPortChange mendaftarkan driver yang akan diberi tahu untuk perubahan pada nomor port UDP yang digunakan klien Teredo untuk port layanan Teredo di komputer lokal.
Sintaks
NETIOAPI_API NotifyTeredoPortChange(
_In_ PTEREDO_PORT_CHANGE_CALLBACK Callback,
_In_ PVOID CallerContext,
_In_ BOOLEAN InitialNotification,
_Inout_ HANDLE * NotificationHandle
);
Parameter
Panggilan balik [in]
Penunjuk ke fungsi untuk memanggil ketika perubahan port klien Teredo terjadi. Fungsi ini dipanggil ketika pemberitahuan perubahan port Teredo diterima.CallerContext [in]
Konteks pengguna yang diteruskan ke fungsi panggilan balik yang ditentukan dalam parameter Panggilan Balik saat pemberitahuan perubahan port Teredo diterima.InitialNotification [in]
Nilai yang menunjukkan apakah panggilan balik harus segera dipanggil setelah pendaftaran untuk pemberitahuan perubahan driver selesai. Pemberitahuan awal ini tidak menunjukkan bahwa perubahan terjadi pada port klien Teredo. Parameter ini memberikan konfirmasi bahwa panggilan balik terdaftar.NotificationHandle [masuk, keluar]
Pointer yang digunakan untuk mengembalikan handel yang nantinya dapat digunakan driver Anda untuk membatalkan pendaftaran pemberitahuan perubahan driver. Jika berhasil, handel pemberitahuan dikembalikan dalam parameter ini. Jika terjadi kesalahan, NULL dikembalikan.
Menampilkan nilai
NotifyTeredoPortChange mengembalikan STATUS_SUCCESS jika fungsi berhasil.
Jika fungsi gagal, NotifyTeredoPortChange mengembalikan salah satu kode kesalahan berikut:
Menampilkan kode | Deskripsi |
---|---|
ERROR_INVALID_HANDLE | Terjadi kesalahan internal di mana handel tidak valid ditemukan. |
STATUS_INVALID_PARAMETER | Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika parameter Callback adalah penunjuk NULL . |
STATUS_NOT_ENOUGH_MEMORY | Memori tidak cukup. |
Lainnya | Gunakan fungsi FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan. |
Keterangan
Pemanggilan fungsi panggilan balik yang ditentukan dalam parameter Panggilan Balik 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 NotifyTeredoPortChange saat mendaftarkan driver untuk pemberitahuan perubahan. |
DI Port USHORT |
Nomor port UDP yang saat ini digunakan klien Teredo. Parameter ini nol 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 NotifyTeredoPortChange 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 . |
Driver Anda dapat menggunakan fungsi GetTeredoPort untuk mengambil nomor port UDP awal yang digunakan klien Teredo untuk port layanan Teredo.
Port Teredo bersifat dinamis dan dapat berubah kapan saja klien Teredo dimulai ulang di komputer lokal. Driver dapat mendaftar untuk diberi tahu ketika port layanan Teredo berubah dengan memanggil fungsi NotifyTeredoPortChange .
Klien Teredo juga menggunakan port UDP statis 3544 untuk mendengarkan lalu lintas multicast yang dikirim pada alamat IPv4 multicast 224.0.0.253 seperti yang ditentukan dalam RFC 4380. Untuk informasi selengkapnya, lihat Teredo: Penerowongan IPv6 melalui UDPthrough Network Address Translations (NATs).
Fungsi NotifyTeredoPortChange digunakan terutama oleh driver firewall untuk mengonfigurasi pengecualian yang sesuai untuk mengaktifkan lalu lintas Teredo masuk dan keluar.
Untuk membatalkan pendaftaran driver untuk pemberitahuan perubahan, panggil fungsi CancelMibChangeNotify2 , meneruskan parameter NotificationHandle yang dikembalikan fungsi NotifyTeredoPortChange .
Persyaratan
Platform target |
Universal |
Versi |
Tersedia di Windows Vista dan versi yang lebih baru dari sistem operasi Windows. |
Header |
Netioapi.h (termasuk Netioapi.h) |
Pustaka |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |