Oharra
Baimena behar duzu orria atzitzeko. Direktorioetan saioa has dezakezu edo haiek alda ditzakezu.
Baimena behar duzu orria atzitzeko. Direktorioak alda ditzakezu.
La función GetTcpStatistics recupera las estadísticas tcp del equipo local.
Sintaxis
IPHLPAPI_DLL_LINKAGE ULONG GetTcpStatistics(
[out] PMIB_TCPSTATS Statistics
);
Parámetros
[out] Statistics
Puntero a una estructura MIB_TCPSTATS que recibe las estadísticas tcp del equipo local.
Valor devuelto
Si la función se realiza correctamente, el valor devuelto es 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 |
|---|---|
|
El parámetro pStats es NULL o GetTcpStatistics no puede escribir en la memoria a la que apunta el parámetro pStats . |
|
Use la función FormatMessage para obtener la cadena de mensaje del error devuelto. |
Comentarios
La función GetTcpStatistics devuelve las estadísticas tcp de IPv4 en el equipo actual. En Windows XP y versiones posteriores, se puede usar GetTcpStatisticsEx para obtener las estadísticas de TCP para IPv4 o IPv6.
Ejemplos
En el ejemplo siguiente se recuperan las estadísticas tcp del equipo local y se imprimen algunos valores de los datos devueltos.
//#include <windows.h>
#include <winsock2.h>
#include <ws2tcpip.h>
#include <iphlpapi.h>
#include <stdio.h>
#pragma comment(lib, "iphlpapi.lib")
#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))
#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))
/* Note: could also use malloc() and free() */
int main()
{
PMIB_TCPSTATS pTCPStats;
DWORD dwRetVal = 0;
pTCPStats = (MIB_TCPSTATS*) MALLOC (sizeof(MIB_TCPSTATS));
if (pTCPStats == NULL) {
printf("Error allocating memory\n");
return 1;
}
if ((dwRetVal = GetTcpStatistics(pTCPStats)) == NO_ERROR) {
printf("\tActive Opens: %ld\n", pTCPStats->dwActiveOpens);
printf("\tPassive Opens: %ld\n", pTCPStats->dwPassiveOpens);
printf("\tSegments Recv: %ld\n", pTCPStats->dwInSegs);
printf("\tSegments Xmit: %ld\n", pTCPStats->dwOutSegs);
printf("\tTotal # Conxs: %ld\n", pTCPStats->dwNumConns);
}
else {
printf("GetTcpStatistics failed with error: %ld\n", dwRetVal);
LPVOID lpMsgBuf;
if (FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dwRetVal,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL )) {
printf("\tError: %s", lpMsgBuf);
}
LocalFree( lpMsgBuf );
}
if (pTCPStats)
FREE (pTCPStats);
}
Requisitos
| Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
| Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
| Plataforma de destino | Windows |
| Encabezado | iphlpapi.h |
| Library | Iphlpapi.lib |
| Archivo DLL | Iphlpapi.dll |
Consulte también
Referencia de la función auxiliar de IP