Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die GetExtendedTcpTable-Funktion ruft eine Tabelle ab, die eine Liste der TCP-Endpunkte enthält, die für die Anwendung verfügbar sind.
Syntax
IPHLPAPI_DLL_LINKAGE DWORD GetExtendedTcpTable(
[out] PVOID pTcpTable,
[in, out] PDWORD pdwSize,
[in] BOOL bOrder,
[in] ULONG ulAf,
[in] TCP_TABLE_CLASS TableClass,
[in] ULONG Reserved
);
Parameter
[out] pTcpTable
Ein Zeiger auf die Tabellenstruktur, die die gefilterten TCP-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 im Abschnitt Hinweise weiter unten in diesem Dokument.
[in, out] pdwSize
Die geschätzte Größe der in pTcpTable 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 TCP-Verbindungstabelle sortiert werden soll. Wenn dieser Parameter auf TRUE festgelegt ist, werden die TCP-Endpunkte in der Tabelle in aufsteigender Reihenfolge sortiert, beginnend mit der niedrigsten lokalen IP-Adresse. Wenn dieser Parameter auf FALSE festgelegt ist, werden die TCP-Endpunkte in der Tabelle in der Reihenfolge angezeigt, in der sie abgerufen wurden.
Beim Sortieren der TCP-Endpunkte werden die folgenden Werte verglichen (wie aufgeführt):
- Lokale IP-Adresse
- Lokale Bereichs-ID (gilt, wenn der ulAf-Parameter auf AF_INET6 festgelegt ist)
- Lokaler TCP-Port
- Remote-IP-Adresse
- Remotebereichs-ID (gilt, wenn der ulAf-Parameter auf AF_INET6 festgelegt ist)
- TCP-Remoteport
[in] ulAf
Die Von den TCP-Endpunkten verwendete IP-Version.
| Wert | Bedeutung |
|---|---|
|
IPv4 wird verwendet. |
|
IPv6 wird verwendet. |
[in] TableClass
Der Typ der abzurufenden TCP-Tabellenstruktur. Dieser Parameter kann einer der Werte aus der TCP_TABLE_CLASS-Enumeration sein.
Auf der Windows SDK für Windows Vista und höher veröffentlicht, wurde die organization der Headerdateien geändert, und die TCP_TABLE_CLASS-Enumeration wird in der Headerdatei Iprtrmib.h und nicht in der Headerdatei Iphlpapi.h definiert.
Der TCP_TABLE_CLASS Enumerationswerts wird mit dem Wert des ulAf-Parameters kombiniert, um die abzurufenden erweiterten TCP-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 pTcpTable-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 in der TCP_TABLE_CLASS-Enumeration nicht 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 TCP-Tabellentyp an, der in der Struktur abgerufen werden soll, auf die der pTcpTable-Parameter für jeden möglichen TableClass-Wert verweist.
| TableClass-Wert | pTcpTable-Struktur |
|---|---|
| TCP_TABLE_BASIC_ALL | MIB_TCPTABLE |
| TCP_TABLE_BASIC_CONNECTIONS | MIB_TCPTABLE |
| TCP_TABLE_BASIC_LISTENER | MIB_TCPTABLE |
| TCP_TABLE_OWNER_MODULE_ALL | MIB_TCPTABLE_OWNER_MODULE |
| TCP_TABLE_OWNER_MODULE_CONNECTIONS | MIB_TCPTABLE_OWNER_MODULE |
| TCP_TABLE_OWNER_MODULE_LISTENER | MIB_TCPTABLE_OWNER_MODULE |
| TCP_TABLE_OWNER_PID_ALL | MIB_TCPTABLE_OWNER_PID |
| TCP_TABLE_OWNER_PID_CONNECTIONS | MIB_TCPTABLE_OWNER_PID |
| TCP_TABLE_OWNER_PID_LISTENER | MIB_TCPTABLE_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 pTcpTable-Parameter für jeden möglichen TableClass-Wert verweist.
| TableClass-Wert | pTcpTable-Struktur |
|---|---|
| TCP_TABLE_OWNER_MODULE_ALL | MIB_TCP6TABLE_OWNER_MODULE |
| TCP_TABLE_OWNER_MODULE_CONNECTIONS | MIB_TCP6TABLE_OWNER_MODULE |
| TCP_TABLE_OWNER_MODULE_LISTENER | MIB_TCP6TABLE_OWNER_MODULE |
| TCP_TABLE_OWNER_PID_ALL | MIB_TCP6TABLE_OWNER_PID |
| TCP_TABLE_OWNER_PID_CONNECTIONS | MIB_TCP6TABLE_OWNER_PID |
| TCP_TABLE_OWNER_PID_LISTENER | MIB_TCP6TABLE_OWNER_PID |
Die GetExtendedTcpTable-Funktion , die aufgerufen wird, wobei der ulAf-Parameter auf AF_INET6 festgelegt ist, und die TableClass auf TCP_TABLE_BASIC_LISTENER, TCP_TABLE_BASIC_CONNECTIONS oder TCP_TABLE_BASIC_ALL festgelegt ist, wird nicht unterstützt und gibt ERROR_NOT_SUPPORTED zurück.
Auf der Windows SDK für Windows Vista und höher veröffentlicht, wurde die organization der Headerdateien geändert. Die verschiedenen MIB_TCPTABLE-Strukturen werden in der Headerdatei "Tcpmib.h " und nicht in der Headerdatei "Iprtrmib.h " definiert. Beachten Sie, dass die Tcpmib.h-Headerdatei automatisch in Iprtrmib.h enthalten ist, die automatisch in der Headerdatei Iphlpapi.h enthalten ist. Die Headerdateien Tcpmib.h und Iprtrmib.h sollten nie direkt verwendet werden.
Anforderungen
| Anforderung | Wert |
|---|---|
| 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 |