GetExtendedUdpTable-Funktion (iphlpapi.h)

Die GetExtendedUdpTable-Funktion ruft eine Tabelle ab, die eine Liste der UDP-Endpunkte enthält, die für die Anwendung verfügbar sind.

Syntax

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

Ein Zeiger auf die Tabellenstruktur, die die gefilterten UDP-Endpunkte enthält, die für die Anwendung verfügbar sind. Informationen zum Bestimmen des Typs der zurückgegebenen Tabelle anhand bestimmter Eingabeparameterkombinationen finden Sie weiter unten in diesem Dokument im Abschnitt Hinweise.

[in, out] pdwSize

Die geschätzte Größe der in pUdpTable zurückgegebenen Struktur in Bytes. Wenn dieser Wert zu klein festgelegt ist, wird ERROR_INSUFFICIENT_BUFFER von dieser Funktion zurückgegeben, und dieses Feld enthält die richtige Größe der Struktur.

[in] bOrder

Ein -Wert, der angibt, ob die UDP-Endpunkttabelle sortiert werden soll. Wenn dieser Parameter auf TRUE festgelegt ist, werden die UDP-Endpunkte in der Tabelle in aufsteigender Reihenfolge sortiert, beginnend mit der niedrigsten lokalen IP-Adresse. Wenn dieser Parameter auf FALSE festgelegt ist, werden die UDP-Endpunkte in der Tabelle in der Reihenfolge angezeigt, in der sie abgerufen wurden.

Die folgenden Werte werden verglichen, wie beim Sortieren der UDP-Endpunkte aufgeführt:

  1. Lokale IP-Adresse
  2. Lokale Bereichs-ID (gilt, wenn der ulAf-Parameter auf AF_INET6 festgelegt ist)
  3. Lokaler UDP-Port

[in] ulAf

Die Vom UDP-Endpunkt verwendete IP-Version.

Wert Bedeutung
AF_INET
IPv4 wird verwendet.
AF_INET6
IPv6 wird verwendet.

[in] TableClass

Der Typ der abzurufenden UDP-Tabellenstruktur. Dieser Parameter kann einer der Werte aus der UDP_TABLE_CLASS-Enumeration sein.

Im Windows SDK, das für Windows Vista und höher veröffentlicht wurde, wurde die organization der Headerdateien geändert, und die UDP_TABLE_CLASS-Enumeration ist in der Headerdatei Iprtrmib.h definiert, nicht in der Headerdatei Iphlpapi.h.

Der UDP_TABLE_CLASS Enumerationswert wird mit dem Wert des ulAf-Parameters kombiniert, um die abzurufenden erweiterten UDP-Informationen zu bestimmen.

[in] Reserved

Reserviert. Dieser Wert muss null (0) sein.

Rückgabewert

Wenn der Aufruf erfolgreich ist, wird der Wert NO_ERROR zurückgegeben.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Rückgabecode Beschreibung
ERROR_INSUFFICIENT_BUFFER
Für die Tabelle wurde nicht genügend Speicherplatz zugewiesen. Die Größe der Tabelle wird im pdwSize-Parameter zurückgegeben und muss in einem nachfolgenden Aufruf dieser Funktion verwendet werden, um die Tabelle erfolgreich abzurufen.

Dieser Fehler wird auch zurückgegeben, wenn der pUdpTable-ParameterNULL ist.

ERROR_INVALID_PARAMETER
Es wurde ein ungültiger Parameter an die Funktion übergeben. Dieser Fehler wird zurückgegeben, wenn der TableClass-Parameter einen Wert enthält, der nicht in der UDP_TABLE_CLASS-Enumeration definiert ist.

Hinweise

Der von dieser Funktion zurückgegebene Tabellentyp hängt von der spezifischen Kombination des ulAf-Parameters und des TableClass-Parameters ab.

Wenn der ulAf-Parameter auf AF_INET festgelegt ist, gibt die folgende Tabelle den UDP-Tabellentyp an, der in der Struktur abgerufen werden soll, auf die der pUdpTable-Parameter für jeden möglichen TableClass-Wert verweist.

TableClass-Wert pUdpTable-Struktur
UDP_TABLE_BASIC MIB_UDPTABLE
UDP_TABLE_OWNER_MODULE MIB_UDPTABLE_OWNER_MODULE
UDP_TABLE_OWNER_PID MIB_UDPTABLE_OWNER_PID
 

Wenn der ulAf-Parameter auf AF_INET6 festgelegt ist, gibt die folgende Tabelle den TCP-Tabellentyp an, der in der Struktur abgerufen werden soll, auf die der pUdpTable-Parameter für jeden möglichen TableClass-Wert verweist.

TableClass-Wert pUdpTable-Struktur
UDP_TABLE_BASIC MIB_UDP6TABLE
UDP_TABLE_OWNER_MODULE MIB_UDP6TABLE_OWNER_MODULE
UDP_TABLE_OWNER_PID MIB_UDP6TABLE_OWNER_PID
 

Die GetExtendedUdpTable-Funktion wird nur unter Windows Vista und höher unterstützt, wenn der ulAf-Parameter auf AF_INET6 und tableClass auf UDP_TABLE_BASIC festgelegt ist.

Unter Windows Server 2003 mit Service Pack 1 (SP1) und Windows XP mit Service Pack 2 (SP2) schlägt die GetExtendedUdpTable-Funktion mit dem ulAf-Parameterauf AF_INET6 und die auf UDP_TABLE_BASICfestgelegte TableClass fehl und gibt ERROR_NOT_SUPPORTED zurück.

Im Windows SDK, das für Windows Vista und höher veröffentlicht wurde, wurde die organization der Headerdateien geändert. Die verschiedenen MIB_UDPTABLE Strukturen werden in der Headerdatei Udpmib.h und nicht in der Headerdatei Iprtrmib.h definiert. Beachten Sie, dass die Headerdatei Udpmib.h automatisch in Iprtrmib.h enthalten ist, die automatisch in der Headerdatei Iphlpapi.h enthalten ist. Die Headerdateien Udpmib.h und Iprtrmib.h sollten niemals direkt verwendet werden.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Vista, Windows XP mit SP2 [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008, Windows Server 2003 mit SP1 [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile iphlpapi.h
Bibliothek Iphlpapi.lib
DLL Iphlpapi.dll

Weitere Informationen

MIB_UDP6TABLE

MIB_UDP6TABLE_OWNER_MODULE

MIB_UDP6TABLE_OWNER_PID

MIB_UDPTABLE

MIB_UDPTABLE_OWNER_MODULE

MIB_UDPTABLE_OWNER_PID

UDP_TABLE_CLASS