Fungsi GetAnycastIpAddressTable
Fungsi GetAnycastIpAddressTable mengambil tabel alamat IP anycast di komputer lokal.
Sintaks
NETIOAPI_API GetAnycastIpAddressTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_ANYCASTIPADDRESS_TABLE *Table
);
Parameter
Keluarga [dalam]
Keluarga alamat yang akan diambil.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 ditentukan 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 mengembalikan tabel alamat IP anycast yang hanya berisi entri IPv4.AF_INET6
Keluarga alamat IPv6. Ketika nilai ini ditentukan, fungsi ini mengembalikan tabel alamat IP anycast yang hanya berisi entri IPv6.AF_UNSPEC
Keluarga alamat tidak ditentukan. Ketika nilai ini ditentukan, fungsi ini mengembalikan tabel alamat IP anycast yang berisi entri IPv4 dan IPv6.
Tabel [out]
Penunjuk ke struktur MIB_ANYCASTIPADDRESS_TABLE yang berisi tabel entri alamat IP anycast di komputer lokal.
Nilai hasil
GetAnycastIpAddressTable mengembalikan STATUS_SUCCESS jika fungsi berhasil.
Jika fungsi gagal, GetAnycastIpAddressTable mengembalikan salah satu kode kesalahan berikut:
Mengembalikan kode | Deskripsi |
---|---|
STATUS_INVALID_PARAMETER | Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika penunjuk NULL diteruskan dalam parameter Tabel atau parameter Keluarga tidak ditentukan sebagai AF_INET, AF_INET6, atau AF_UNSPEC. |
STATUS_NOT_ENOUGH_MEMORY | Sumber daya memori tidak cukup tersedia untuk menyelesaikan operasi. |
STATUS_NOT_FOUND | Tidak ada entri alamat IP anycast, seperti yang ditentukan dalam parameter Keluarga , yang ditemukan. |
STATUS_NOT_SUPPORTED | Permintaan tidak didukung. Kesalahan ini dikembalikan jika tidak ada tumpukan IPv4 yang terletak di komputer lokal dan AF_INET ditentukan dalam parameter Keluarga , atau jika tidak ada tumpukan IPv6 yang terletak di komputer lokal dan AF_INET6 ditentukan dalam parameter Keluarga . Kesalahan ini juga dikembalikan pada versi Windows di mana fungsi ini tidak didukung. |
Lainnya | Gunakan fungsi FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan. |
Keterangan
Fungsi GetAnycastIpAddressTable menghitung alamat IP anycast di komputer lokal dan mengembalikan informasi ini dalam struktur MIB_ANYCASTIPADDRESS_TABLE .
Entri alamat IP anycast dikembalikan dalam struktur MIB_ANYCASTIPADDRESS_TABLE dalam buffer yang dituju parameter Tabel . Struktur MIB_ANYCASTIPADDRESS_TABLE berisi jumlah entri alamat IP anycast dan array struktur MIB_ANYCASTIPADDRESS_ROW untuk setiap entri alamat IP anycast. Ketika struktur yang dikembalikan ini tidak lagi diperlukan, driver Anda harus membebaskan memori dengan memanggil FreeMibTable.
Driver Anda harus menginisialisasi parameter Family ke AF_INET, AF_INET6, atau AF_UNSPEC.
Perhatikan bahwa struktur MIB_ANYCASTIPADDRESS_TABLE yang dikembalikan yang ditunjuk parameter Tabel mungkin berisi padding untuk perataan antara anggota NumEntries dan entri array MIB_ANYCASTIPADDRESS_ROW pertama di anggota Tabel dari struktur MIB_ANYCASTIPADDRESS_TABLE. Padding untuk perataan mungkin juga ada di antara entri array MIB_ANYCASTIPADDRESS_ROW. Setiap akses ke entri array MIB_ANYCASTIPADDRESS_ROW harus mengasumsikan padding mungkin ada.
Persyaratan
Platform target |
Universal |
Versi |
Tersedia di Windows Vista dan versi sistem operasi Windows yang lebih baru. |
Header |
Netioapi.h (termasuk Netioapi.h) |
Pustaka |
Netio.lib |
IRQL |
< DISPATCH_LEVEL |