Fungsi SetUnicastIpAddressEntry
Fungsi SetUnicastIpAddressEntry mengatur properti entri alamat IP unicast yang ada di komputer lokal.
Sintaks
NETIOAPI_API SetUnicastIpAddressEntry(
_In_ const MIB_UNICASTIPADDRESS_ROW *Row
);
Parameter
- Baris [in]
Penunjuk ke entri struktur MIB_UNICASTIPADDRESS_ROW untuk entri alamat IP unicast yang ada.
Mengembalikan nilai
SetUnicastIpAddressEntry mengembalikan STATUS_SUCCESS jika fungsi berhasil.
Jika fungsi gagal, SetUnicastIpAddressEntry 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 Alamat dari struktur MIB_UNICASTIPADDRESS_ROW yang ditunjuk parameter Baris tidak diatur ke alamat IPv4 atau IPv6 unicast yang valid, atau anggota InterfaceLuid dan InterfaceIndex dari struktur MIB_UNICASTIPADDRESS_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_UNICASTIPADDRESS_ROW yang ditunjuk oleh parameter Baris . |
STATUS_NOT_SUPPORTED | Permintaan tidak didukung. Kesalahan ini dikembalikan jika tidak ada tumpukan IPv4 yang terletak di komputer lokal dan alamat IPv4 ditentukan di anggota Alamat struktur MIB_UNICASTIPADDRESS_ROW yang ditunjuk parameter Baris , atau jika tidak ada tumpukan IPv6 yang terletak di komputer lokal dan alamat IPv6 ditentukan di anggota Alamat . |
Lainnya | Gunakan fungsi FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan. |
Keterangan
Fungsi GetUnicastIpAddressEntry biasanya digunakan untuk mengambil entri struktur MIB_UNICASTIPADDRESS_ROW yang ada untuk dimodifikasi. Driver kemudian dapat mengubah anggota dalam entri MIB_UNICASTIPADDRESS_ROW yang ingin dimodifikasi, lalu memanggil fungsi SetUnicastIpAddressEntry .
Driver dapat memanggil fungsi InitializeUnicastIpAddressEntry untuk menginisialisasi anggota entri struktur MIB_UNICASTIPADDRESS_ROW dengan nilai default sebelum membuat perubahan. Namun, driver biasanya menyimpan anggota InterfaceLuid atau InterfaceIndex sebelum memanggil InitializeUnicastIpAddressEntry dan memulihkan salah satu anggota ini setelah panggilan.
Driver Anda harus menginisialisasi anggota struktur MIB_UNICASTIPADDRESS_ROW berikut yang ditunjuk oleh parameter Baris .
Alamat
Atur ke alamat dan keluarga IPv4 atau IPv6 unicast yang valid.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.
Jika anggota OnLinkPrefixLength dari struktur MIB_UNICASTIPADDRESS_ROW yang ditunjuk parameter Baris diatur ke 255, SetUnicastIpAddressEntry mengatur properti alamat IP unicast sehingga anggota OnLinkPrefixLength sama dengan panjang alamat IP. Untuk alamat IPv4 unicast, OnLinkPrefixLength diatur ke 32. Untuk alamat IPv6 unicast, OnLinkPrefixLength diatur ke 128. Jika pengaturan ini akan mengakibatkan subnet mask yang salah untuk alamat IPv4 atau awalan tautan yang salah untuk alamat IPv6, driver harus mengatur anggota ini ke nilai yang benar sebelum memanggil SetUnicastIpAddressEntry.
SetUnicastIpAddressEntry mengabaikan anggota DadState, ScopeId, dan CreationTimeStamp dari struktur MIB_UNICASTIPADDRESS_ROW yang ditunjuk parameter Baris . Anggota ini diatur oleh tumpukan jaringan dan tidak dapat diubah dengan menggunakan fungsi SetUnicastIpAddressEntry . Anggota ScopeId secara otomatis ditentukan oleh antarmuka tempat alamat ditambahkan.
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 |