Bagikan melalui


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

Lihat juga

GetBestRoute2

GetIfEntry2

GetIfTable2

GetIfTable2Ex

GetIpInterfaceTable

MIB_IF_ROW2

MIB_IF_TABLE2

MIB_IPINTERFACE_ROW

MIB_IPINTERFACE_TABLE

SetIpInterfaceEntry