Función GetExtendedTcpTable (iphlpapi.h)
La función GetExtendedTcpTable recupera una tabla que contiene una lista de puntos de conexión TCP disponibles para la aplicación.
Sintaxis
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
);
Parámetros
[out] pTcpTable
Puntero a la estructura de tabla que contiene los puntos de conexión TCP filtrados disponibles para la aplicación. Para obtener información sobre cómo determinar el tipo de tabla devuelta en función de combinaciones de parámetros de entrada específicas, vea la sección Comentarios más adelante en este documento.
[in, out] pdwSize
Tamaño estimado de la estructura devuelta en pTcpTable, en bytes. Si este valor se establece demasiado pequeño, esta función devuelve ERROR_INSUFFICIENT_BUFFER y este campo contendrá el tamaño correcto de la estructura.
[in] bOrder
Valor que especifica si se debe ordenar la tabla de conexión TCP. Si este parámetro se establece en TRUE, los puntos de conexión TCP de la tabla se ordenan en orden ascendente, empezando por la dirección IP local más baja. Si este parámetro se establece en FALSE, los puntos de conexión TCP de la tabla aparecen en el orden en que se recuperaron.
Los valores siguientes se comparan (como se muestra) al ordenar los puntos de conexión TCP:
- Dirección IP local
- Identificador de ámbito local (aplicable cuando el parámetro ulAf se establece en AF_INET6)
- Puerto TCP local
- Dirección IP remota
- Identificador de ámbito remoto (aplicable cuando el parámetro ulAf está establecido en AF_INET6)
- Puerto TCP remoto
[in] ulAf
La versión de IP usada por los puntos de conexión TCP.
Valor | Significado |
---|---|
|
Se usa IPv4. |
|
Se usa IPv6. |
[in] TableClass
Tipo de la estructura de tabla TCP que se va a recuperar. Este parámetro puede ser uno de los valores de la enumeración TCP_TABLE_CLASS .
En el Windows SDK publicado para Windows Vista y versiones posteriores, la organización de archivos de encabezado ha cambiado y la enumeración TCP_TABLE_CLASS se define en el archivo de encabezado Iprtrmib.h, no en el archivo de encabezado Iphlpapi.h.
El valor de enumeración TCP_TABLE_CLASS se combina con el valor del parámetro ulAf para determinar la información TCP extendida que se va a recuperar.
[in] Reserved
Reservado. Este valor debe ser cero.
Valor devuelto
Si la llamada se realiza correctamente, se devuelve el valor NO_ERROR .
Si se produce un error en la función, el valor devuelto es uno de los siguientes códigos de error.
Código devuelto | Descripción |
---|---|
|
Se asignó una cantidad insuficiente de espacio para la tabla. El tamaño de la tabla se devuelve en el parámetro pdwSize y se debe usar en una llamada posterior a esta función para recuperar correctamente la tabla.
Este error también se devuelve si el parámetro pTcpTable es NULL. |
|
Se pasó un parámetro no válido a la función. Este error se devuelve si el parámetro TableClass contiene un valor que no está definido en la enumeración TCP_TABLE_CLASS . |
Comentarios
El tipo de tabla devuelto por esta función depende de la combinación específica del parámetro ulAf y del parámetro TableClass .
Cuando el parámetro ulAf se establece en AF_INET, la tabla siguiente indica el tipo de tabla TCP que se va a recuperar en la estructura a la que apunta el parámetro pTcpTable para cada valor TableClass posible.
Valor tableClass | Estructura pTcpTable |
---|---|
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 |
Cuando el parámetro ulAf se establece en AF_INET6, la tabla siguiente indica el tipo de tabla TCP que se va a recuperar en la estructura a la que apunta el parámetro pTcpTable para cada valor TableClass posible.
Valor tableClass | Estructura pTcpTable |
---|---|
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 |
La función GetExtendedTcpTable denominada con el parámetro ulAf establecido en AF_INET6 y TableClass establecido en TCP_TABLE_BASIC_LISTENER, TCP_TABLE_BASIC_CONNECTIONS o TCP_TABLE_BASIC_ALL no se admite y devuelve ERROR_NOT_SUPPORTED.
En el Windows SDK publicado para Windows Vista y versiones posteriores, la organización de archivos de encabezado ha cambiado. Las distintas estructuras de MIB_TCPTABLE se definen en el archivo de encabezado Tcpmib.h , no en el archivo de encabezado Iprtrmib.h . Tenga en cuenta que el archivo de encabezado Tcpmib.h se incluye automáticamente en Iprtrmib.h, que se incluye automáticamente en el archivo de encabezado Iphlpapi.h . Los archivos de encabezado Tcpmib.h e Iprtrmib.h nunca deben usarse directamente.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows Vista, Windows XP con SP2 [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows Server 2008, Windows Server 2003 con SP1 [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | iphlpapi.h |
Library | Iphlpapi.lib |
Archivo DLL | Iphlpapi.dll |