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:
- Lokale IP-Adresse
- Lokale Bereichs-ID (gilt, wenn der ulAf-Parameter auf AF_INET6 festgelegt ist)
- Lokaler UDP-Port
[in] ulAf
Die Vom UDP-Endpunkt verwendete IP-Version.
Wert | Bedeutung |
---|---|
|
IPv4 wird verwendet. |
|
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 |
---|---|
|
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. |
|
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 |