Bagikan melalui


Fungsi GetExtendedUdpTable (iphlpapi.h)

Fungsi GetExtendedUdpTable mengambil tabel yang berisi daftar titik akhir UDP yang tersedia untuk aplikasi.

Sintaks

IPHLPAPI_DLL_LINKAGE DWORD GetExtendedUdpTable(
  [out]     PVOID           pUdpTable,
  [in, out] PDWORD          pdwSize,
  [in]      BOOL            bOrder,
  [in]      ULONG           ulAf,
  [in]      UDP_TABLE_CLASS TableClass,
  [in]      ULONG           Reserved
);

Parameter

[out] pUdpTable

Penunjuk ke struktur tabel yang berisi titik akhir UDP yang difilter yang tersedia untuk aplikasi. Untuk informasi tentang cara menentukan jenis tabel yang dikembalikan berdasarkan kombinasi parameter input tertentu, lihat bagian Keterangan nanti dalam dokumen ini.

[in, out] pdwSize

Perkiraan ukuran struktur yang dikembalikan dalam pUdpTable, dalam byte. Jika nilai ini diatur terlalu kecil, ERROR_INSUFFICIENT_BUFFER dikembalikan oleh fungsi ini, dan bidang ini akan berisi ukuran struktur yang benar.

[in] bOrder

Nilai yang menentukan apakah tabel titik akhir UDP harus diurutkan. Jika parameter ini diatur ke TRUE, titik akhir UDP dalam tabel diurutkan dalam urutan naik, dimulai dengan alamat IP lokal terendah. Jika parameter ini diatur ke FALSE, titik akhir UDP dalam tabel muncul dalam urutan pengambilannya.

Nilai berikut dibandingkan seperti yang tercantum saat mengurutkan titik akhir UDP:

  1. Alamat IP lokal
  2. ID cakupan lokal (berlaku saat parameter ulAf diatur ke AF_INET6)
  3. Port UDP lokal

[in] ulAf

Versi IP yang digunakan oleh titik akhir UDP.

Nilai Makna
AF_INET
IPv4 digunakan.
AF_INET6
IPv6 digunakan.

[in] TableClass

Jenis struktur tabel UDP yang akan diambil. Parameter ini bisa menjadi salah satu nilai dari enumerasi UDP_TABLE_CLASS .

Pada Windows SDK yang dirilis untuk Windows Vista dan yang lebih baru, organisasi file header telah berubah dan enumerasi UDP_TABLE_CLASS didefinisikan dalam file header Iprtrmib.h , bukan dalam file header Iphlpapi.h .

Nilai enumerasi UDP_TABLE_CLASS dikombinasikan dengan nilai parameter ulAf untuk menentukan informasi UDP yang diperluas untuk diambil.

[in] Reserved

Dicadangkan. Nilai ini harus berupa nol.

Menampilkan nilai

Jika panggilan berhasil, nilai NO_ERROR dikembalikan.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Menampilkan kode Deskripsi
ERROR_INSUFFICIENT_BUFFER
Jumlah ruang yang tidak cukup dialokasikan untuk tabel. Ukuran tabel dikembalikan dalam parameter pdwSize , dan harus digunakan dalam panggilan berikutnya ke fungsi ini agar berhasil mengambil tabel.

Kesalahan ini juga dikembalikan jika parameter pUdpTable adalah NULL.

ERROR_INVALID_PARAMETER
Parameter yang tidak valid diteruskan ke fungsi. Kesalahan ini dikembalikan jika parameter TableClass berisi nilai yang tidak ditentukan dalam enumerasi UDP_TABLE_CLASS .

Keterangan

Jenis tabel yang dikembalikan oleh fungsi ini tergantung pada kombinasi spesifik parameter ulAf dan parameter TableClass .

Saat parameter ulAf diatur ke AF_INET, tabel berikut menunjukkan jenis tabel UDP untuk diambil dalam struktur yang ditunjukkan oleh parameter pUdpTable untuk setiap nilai TableClass yang mungkin.

Nilai TableClass Struktur pUdpTable
UDP_TABLE_BASIC MIB_UDPTABLE
UDP_TABLE_OWNER_MODULE MIB_UDPTABLE_OWNER_MODULE
UDP_TABLE_OWNER_PID MIB_UDPTABLE_OWNER_PID
 

Saat parameter ulAf diatur ke AF_INET6, tabel berikut menunjukkan jenis tabel TCP untuk diambil dalam struktur yang ditunjukkan oleh parameter pUdpTable untuk setiap nilai TableClass yang mungkin.

Nilai TableClass Struktur pUdpTable
UDP_TABLE_BASIC MIB_UDP6TABLE
UDP_TABLE_OWNER_MODULE MIB_UDP6TABLE_OWNER_MODULE
UDP_TABLE_OWNER_PID MIB_UDP6TABLE_OWNER_PID
 

Fungsi GetExtendedUdpTable ketika dipanggil dengan parameter ulAf diatur ke AF_INET6 dan TableClass diatur ke UDP_TABLE_BASIC hanya didukung pada Windows Vista dan yang lebih baru.

Pada Windows Server 2003 dengan Paket Layanan 1 (SP1) dan Windows XP dengan Paket Layanan 2 (SP2), fungsi GetExtendedUdpTable yang dipanggil dengan parameter ulAf diatur ke AF_INET6 dan TableClass diatur ke UDP_TABLE_BASIC gagal dan mengembalikan ERROR_NOT_SUPPORTED.

Pada Windows SDK yang dirilis untuk Windows Vista dan yang lebih baru, organisasi file header telah berubah. Berbagai struktur MIB_UDPTABLE didefinisikan dalam file header Udpmib.h , bukan dalam file header Iprtrmib.h . Perhatikan bahwa file header Udpmib.h secara otomatis disertakan dalam Iprtrmib.h, yang secara otomatis disertakan dalam file header Iphlpapi.h . File header Udpmib.h dan Iprtrmib.h tidak boleh digunakan secara langsung.

Persyaratan

   
Klien minimum yang didukung Windows Vista, Windows XP dengan SP2 [aplikasi desktop | Aplikasi UWP]
Server minimum yang didukung Windows Server 2008, Windows Server 2003 dengan SP1 [aplikasi desktop | Aplikasi UWP]
Target Platform Windows
Header iphlpapi.h
Pustaka Iphlpapi.lib
DLL Iphlpapi.dll

Lihat juga

MIB_UDP6TABLE

MIB_UDP6TABLE_OWNER_MODULE

MIB_UDP6TABLE_OWNER_PID

MIB_UDPTABLE

MIB_UDPTABLE_OWNER_MODULE

MIB_UDPTABLE_OWNER_PID

UDP_TABLE_CLASS