Fungsi SetIpInterfaceEntry
Fungsi SetIpInterfaceEntry mengatur properti antarmuka IP di komputer lokal.
Sintaks
NETIOAPI_API SetIpInterfaceEntry(
_Inout_ PMIB_IPINTERFACE_ROW Row
);
Parameter
- Baris [masuk, keluar]
Penunjuk ke entri struktur MIB_IPINTERFACE_ROW untuk antarmuka. Pada input, driver Anda harus mengatur anggota Keluarga MIB_IPINTERFACE_ROW ke AF_INET6 atau AF_INET dan driver Anda harus menentukan anggota InterfaceLuid atau anggota InterfaceIndex dari MIB_IPINTERFACE_ROW. Pada pengembalian yang berhasil, anggota InterfaceLuid dari MIB_IPINTERFACE_ROW diisi jika anggota InterfaceIndex dari entri MIB_IPINTERFACE_ROW ditentukan.
Mengembalikan nilai
SetIpInterfaceEntry mengembalikan STATUS_SUCCESS jika fungsi berhasil.
Jika fungsi gagal, SetIpInterfaceEntry 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
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 .
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 berikutnya digunakan untuk menentukan antarmuka.
Pada output, anggota InterfaceLuid dari struktur MIB_IPINTERFACE_ROW yang ditunjuk parameter Baris diisi jika InterfaceIndex ditentukan.
SetIpInterfaceEntry mengabaikan MaxReassemblySize, MinRouterAdvertisementInterval, MaxRouterAdvertisementInterval, Connected, SupportsWakeUpPatterns, SupportsNeighborDiscovery, SupportsRouterDiscovery, ReachableTime, TransmitOffload, dan ReceiveOffload anggota struktur MIB_IPINTERFACE_ROW yang ditunjuk parameter Baris . Anggota ini diatur oleh tumpukan jaringan dan tidak dapat diubah dengan menggunakan 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 maya (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 struktur 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 meminta 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk