使用 GetTcpStatistics 擷取資訊
GetTcpStatistics函式會以本機電腦的 TCP 通訊協定統計資料資訊填入MIB_TCPSTATS結構的指標。
使用 GetTcpStatistics
宣告需要的某些變數。
宣告將用於錯誤檢查函式呼叫的 DWORD 變數
dwRetVal
。 宣告名為pTCPStats的MIB_TCPSTATS變數指標,並配置結構的記憶體。 檢查是否可以配置記憶體。DWORD dwRetVal = 0; PMIB_TCPSTATS pTCPStats; pTCPStats = (MIB_TCPSTATS *) malloc(sizeof (MIB_TCPSTATS)); if (pTCPStats == NULL) { printf("Error allocating memory\n"); }
使用pTCPStats 參數呼叫 GetTcpStatistics函式,以擷取本機電腦上的 IPv4 TCP 統計資料。 檢查錯誤,並傳回 DWORD 變數
dwRetVal
中的錯誤值。 如果發生錯誤,dwRetVal
變數可用於更廣泛的錯誤檢查和報告。if ((dwRetVal = GetTcpStatistics(pTCPStats)) != NO_ERROR) { printf("GetTcpStatistics failed with error: %ld\n", dwRetVal); }
如果呼叫成功,請存取pTCPStats參數所指向MIB_TCPSTATS中所傳回的資料。
printf("\tNumber of active opens: %u\n", pTCPStats->dwActiveOpens); printf("\tNumber of passive opens: %u\n", pTCPStats->dwPassiveOpens); printf("\tNumber of segments received: %u\n", pTCPStats->dwInSegs); printf("\tNumber of segments transmitted: %u\n", pTCPStats->dwOutSegs); printf("\tNumber of total connections: %u\n", pTCPStats->dwNumConns);
釋放配置給pTCPStats參數所指向之MIB_TCPSTATS結構的記憶體。 一旦應用程式不再需要 pTCPStats 參數所傳回的資料,就應該這麼做。
if (pTCPStats) free(pTCPStats);
下一個步驟: 使用 GetIpStatistics 擷取資訊
上一個步驟: 使用 GetIpStatistics 擷取資訊
完整原始程式碼