Fungsi GetIpInterfaceTable
Fungsi GetIpInterfaceTable mengambil entri antarmuka IP di komputer lokal.
Sintaks
NETIOAPI_API GetIpInterfaceTable(
_In_ ADDRESS_FAMILY Family,
_Out_ PMIB_IPINTERFACE_TABLE *Table
);
Parameter
Keluarga [in]
Keluarga alamat antarmuka IP untuk 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 salah satu konstanta.
Pada Windows Vista dan versi yang lebih baru dari sistem operasi Windows, nilai yang mungkin untuk parameter Family 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.AF_INET6
Keluarga alamat IPv6.AF_UNSPEC
Keluarga alamat tidak ditentukan. Ketika nilai ini ditentukan, fungsi GetIpInterfaceTable mengembalikan tabel antarmuka IP yang berisi entri IPv4 dan IPv6.
Tabel [keluar]
Penunjuk ke buffer yang menerima tabel entri antarmuka IP dalam struktur MIB_IPINTERFACE_TABLE .
Mengembalikan nilai
GetIpInterfaceTable mengembalikan STATUS_SUCCESS jika fungsi berhasil.
Jika fungsi gagal, GetIpInterfaceTable mengembalikan salah satu kode kesalahan berikut:
Menampilkan kode | Deskripsi |
---|---|
STATUS_INVALID_PARAMETER | Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika penunjuk NULL diteruskan dalam parameter Tabel atau parameter Family 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 antarmuka IP, seperti yang ditentukan dalam parameter Keluarga , yang ditemukan. |
STATUS_NOT_SUPPORTED | Fungsi ini tidak didukung. Kesalahan ini dikembalikan ketika transportasi IP yang ditentukan dalam parameter Alamat tidak dikonfigurasi pada komputer lokal. 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 GetIpInterfaceTable menghitung antarmuka IP di komputer lokal dan mengembalikan informasi ini dalam struktur MIB_IPINTERFACE_TABLE .
GetIpInterfaceTable mengembalikan entri antarmuka IP dalam struktur MIB_IPINTERFACE_TABLE dalam buffer yang dirujuk parameter Tabel . Struktur MIB_IPINTERFACE_TABLE berisi jumlah entri antarmuka IP dan array struktur MIB_IPINTERFACE_ROW untuk setiap entri antarmuka IP. Ketika struktur yang dikembalikan ini tidak lagi diperlukan, driver Anda harus membebaskan memori dengan memanggil fungsi FreeMibTable .
Driver Anda harus menginisialisasi parameter Family ke AF_INET atau AF_INET6.
Perhatikan bahwa struktur MIB_IPINTERFACE_TABLE yang dikembalikan yang ditunjuk parameter Tabel mungkin berisi pengisi untuk perataan antara anggota NumEntries dan entri array MIB_IPINTERFACE_ROW pertama di anggota Tabel dari struktur MIB_IPINTERFACE_TABLE. Padding untuk perataan mungkin juga ada di antara entri array MIB_IPINTERFACE_ROW. Setiap akses ke entri array MIB_IPINTERFACE_ROW harus mengasumsikan padding mungkin ada.
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 |