Fungsi GetIpInterfaceEntry
Fungsi GetIpInterfaceEntry mengambil informasi IP untuk antarmuka yang ditentukan di komputer lokal.
Sintaks
NETIOAPI_API GetIpInterfaceEntry(
_Inout_ PMIB_IPINTERFACE_ROW Row
);
Parameter
- Baris [masuk, keluar]
Penunjuk ke struktur MIB_IPINTERFACE_ROW yang, saat pengembalian berhasil, menerima informasi untuk antarmuka di komputer lokal. Pada input, driver Anda harus mengatur anggota InterfaceLuid atau anggota InterfaceIndex dari MIB_IPINTERFACE_ROW ke antarmuka untuk mengambil informasi.
Menampilkan nilai
GetIpInterfaceEntry mengembalikan STATUS_SUCCESS jika fungsi berhasil.
Jika fungsi gagal, GetIpInterfaceEntry 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 Baris , anggota Keluarga dari struktur MIB_IPINTERFACE_ROW yang ditunjuk parameter Baris tidak ditentukan sebagai AF_INET atau AF_INET6, atau anggota InterfaceLuid dan InterfaceIndex dari struktur MIB_IPINTERFACE_ROW tidak ditentukan. |
STATUS_NOT_FOUND | Antarmuka yang ditentukan tidak dapat ditemukan. Kesalahan ini dikembalikan jika fungsi tidak dapat menemukan antarmuka jaringan yang ditentukan oleh anggota InterfaceLuid atau InterfaceIndex dari struktur MIB_IPINTERFACE_ROW yang ditunjuk oleh parameter Baris . |
Lainnya | Gunakan fungsi FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan. |
Keterangan
Pada input, driver Anda harus menginisialisasi anggota struktur MIB_IPINTERFACE_ROW berikut yang ditunjuk oleh parameter Baris .
Keluarga
Atur ke AF_INET atau AF_INET6.InterfaceLuid atau InterfaceIndex
Anggota ini digunakan dalam urutan yang tercantum sebelumnya. Jadi jika InterfaceLuid ditentukan, anggota ini digunakan untuk menentukan antarmuka. Jika tidak ada nilai yang ditetapkan untuk anggota InterfaceLuid (nilai anggota ini diatur ke nol), anggota InterfaceIndex selanjutnya digunakan untuk menentukan antarmuka.
Pada output, GetIpInterfaceEntry mengisi anggota yang tersisa dari struktur MIB_IPINTERFACE_ROW yang ditunjuk oleh parameter Baris .
Driver Anda harus menggunakan fungsi InitializeIpInterfaceEntry untuk menginisialisasi bidang entri struktur MIB_IPINTERFACE_ROW dengan nilai default. Driver kemudian dapat mengubah bidang dalam entri MIB_IPINTERFACE_ROW yang ingin dimodifikasi, lalu memanggil fungsi SetIpInterfaceEntry .
Akses simultan yang tidak istimewa ke beberapa jaringan dengan persyaratan keamanan yang berbeda menciptakan lubang keamanan dan memungkinkan driver yang tidak istimewa untuk secara tidak sengaja menyampaikan data antara kedua jaringan. Contoh umumnya adalah akses simultan ke jaringan privat virtual (VPN) dan Internet. Sistem operasi Windows Server 2003 dan Windows XP menggunakan model host yang lemah, di mana Remote Access Service (RAS) mencegah akses simultan tersebut dengan meningkatkan metrik rute dari semua rute default melalui antarmuka lain. Oleh karena itu, semua lalu lintas dirutekan melalui antarmuka VPN, mengganggu konektivitas jaringan lainnya.
Pada Windows Vista dan versi yang lebih baru dari sistem operasi Windows, secara default, model host yang kuat digunakan. Jika alamat IP sumber ditentukan dalam pencarian rute dengan menggunakan fungsi GetBestRoute2 , pencarian rute dibatasi untuk antarmuka alamat IP sumber. Modifikasi metrik rute oleh RAS tidak berpengaruh karena daftar rute potensial bahkan tidak memiliki rute untuk antarmuka VPN, yang memungkinkan lalu lintas ke Internet. Driver Anda dapat menggunakan anggota DisableDefaultRoutes dari MIB_IPINTERFACE_ROW untuk menonaktifkan menggunakan rute default pada antarmuka. Klien VPN dapat menggunakan anggota ini sebagai langkah keamanan untuk membatasi penerowongan terpisah saat penerowongan terpisah tidak diperlukan oleh klien VPN. Klien VPN dapat memanggil fungsi SetIpInterfaceEntry untuk mengatur anggota DisableDefaultRoutes ke TRUE saat diperlukan. Klien VPN dapat mengkueri status anggota DisableDefaultRoutes saat ini dengan memanggil fungsi GetIpInterfaceEntry .
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 |