Fungsi GetTcpStatistics (iphlpapi.h)

Fungsi GetTcpStatistics mengambil statistik TCP untuk komputer lokal.

Sintaks

IPHLPAPI_DLL_LINKAGE ULONG GetTcpStatistics(
  [out] PMIB_TCPSTATS Statistics
);

Parameter

[out] Statistics

Penunjuk ke struktur MIB_TCPSTATS yang menerima statistik TCP untuk komputer lokal.

Menampilkan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah NO_ERROR.

Jika fungsi gagal, nilai yang dikembalikan adalah salah satu kode kesalahan berikut.

Menampilkan kode Deskripsi
ERROR_INVALID_PARAMETER
Parameter pStats adalah NULL, atau GetTcpStatistics tidak dapat menulis ke memori yang ditunjukkan oleh parameter pStats .
Lainnya
Gunakan fungsi FormatMessage untuk mendapatkan string pesan untuk kesalahan yang dikembalikan.

Keterangan

Fungsi GetTcpStatistics mengembalikan statistik TCP untuk IPv4 pada komputer saat ini. Pada Windows XP dan yang lebih baru, GetTcpStatisticsEx dapat digunakan untuk mendapatkan statistik TCP untuk IPv4 atau IPv6.

Contoh

Contoh berikut mengambil statistik TCP untuk komputer lokal dan mencetak beberapa nilai dari data yang dikembalikan.

//#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);
}

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header iphlpapi.h
Pustaka Iphlpapi.lib
DLL Iphlpapi.dll

Lihat juga

GetIcmpStatistics

GetIpStatistics

GetTcpStatisticsEx

GetUdpStatistics

Referensi Fungsi Pembantu IP

Halaman Mulai Pembantu IP

MIB_TCPSTATS