Bagikan melalui


Fungsi GetUnicastIpAddressTable

Fungsi GetUnicastIpAddressTable mengambil tabel alamat IP unicast di komputer lokal.

Sintaks

NETIOAPI_API GetUnicastIpAddressTable(
  _In_  ADDRESS_FAMILY              Family,
  _Out_ PMIB_UNICASTIPADDRESS_TABLE *Table
);

Parameter

  • Keluarga [in]
    Keluarga alamat yang akan 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. Ketika nilai ini ditentukan, fungsi ini mengembalikan tabel alamat IP multicast yang hanya berisi entri IPv4.

    • AF_INET6
      Keluarga alamat IPv6. Ketika nilai ini ditentukan, fungsi ini mengembalikan tabel alamat IP multicast yang hanya berisi entri IPv6.

    • AF_UNSPEC
      Keluarga alamat tidak ditentukan. Ketika nilai ini ditentukan, fungsi ini mengembalikan tabel alamat IP multicast yang berisi entri IPv4 dan IPv6.

  • Tabel [keluar]
    Penunjuk ke struktur MIB_UNICASTIPADDRESS_TABLE yang berisi tabel entri alamat IP unicast di komputer lokal.

Menampilkan nilai

GetUnicastIpAddressTable mengembalikan STATUS_SUCCESS jika fungsi berhasil.

Jika fungsi gagal, GetUnicastIpAddressTable 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 alamat IP unicast, seperti yang ditentukan dalam parameter Family , yang ditemukan.

STATUS_NOT_SUPPORTED

Permintaan tidak didukung. Kesalahan ini dikembalikan jika tidak ada tumpukan IPv4 yang terletak di komputer lokal dan AF_INET ditentukan dalam parameter Family , atau jika tidak ada tumpukan IPv6 yang terletak di komputer lokal dan AF_INET6 ditentukan dalam parameter Family . 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 GetUnicastIpAddressTable menghitung alamat IP unicast di komputer lokal dan mengembalikan informasi ini dalam struktur MIB_UNICASTIPADDRESS_TABLE .

GetUnicastIpAddressTable mengembalikan entri alamat IP unicast dalam struktur MIB_UNICASTIPADDRESS_TABLE dalam buffer yang dituju parameter Tabel . Struktur MIB_UNICASTIPADDRESS_TABLE berisi jumlah entri alamat IP unicast dan array struktur MIB_UNICASTIPADDRESS_ROW untuk setiap entri alamat IP unicast. Ketika struktur yang dikembalikan ini tidak lagi diperlukan, driver Anda harus membebaskan memori dengan memanggil FreeMibTable.

Driver Anda harus menginisialisasi parameter Family untuk AF_INET, AF_INET6, atau AF_UNSPEC.

Perhatikan bahwa struktur MIB_UNICASTIPADDRESS_TABLE yang dikembalikan yang ditunjuk parameter Tabel mungkin berisi pengisi untuk perataan antara anggota NumEntries dan entri array MIB_UNICASTIPADDRESS_ROW pertama di anggota Tabel dari struktur MIB_UNICASTIPADDRESS_TABLE. Padding untuk perataan mungkin juga ada di antara entri array MIB_UNICASTIPADDRESS_ROW. Setiap akses ke entri array MIB_UNICASTIPADDRESS_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

Lihat juga

CreateUnicastIpAddressEntry

DeleteUnicastIpAddressEntry

FreeMibTable

GetUnicastIpAddressEntry

InitializeUnicastIpAddressEntry

MIB_UNICASTIPADDRESS_ROW

MIB_UNICASTIPADDRESS_TABLE

NotifyStableUnicastIpAddressTable

NotifyUnicastIpAddressChange

SetUnicastIpAddressEntry