GetExtendedTcpTable-Funktion (iphlpapi.h)
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 |