共用方式為


使用 GetTcpStatistics 擷取資訊

GetTcpStatistics函式會以本機電腦的 TCP 通訊協定統計資料資訊填入MIB_TCPSTATS結構的指標。

使用 GetTcpStatistics

  1. 宣告需要的某些變數。

    宣告將用於錯誤檢查函式呼叫的 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");
    }
    
  2. 使用pTCPStats 參數呼叫 GetTcpStatistics函式,以擷取本機電腦上的 IPv4 TCP 統計資料。 檢查錯誤,並傳回 DWORD 變數 dwRetVal 中的錯誤值。 如果發生錯誤, dwRetVal 變數可用於更廣泛的錯誤檢查和報告。

        if ((dwRetVal = GetTcpStatistics(pTCPStats)) != NO_ERROR) {
            printf("GetTcpStatistics failed with error: %ld\n", dwRetVal);
        } 
    
  3. 如果呼叫成功,請存取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);
    
  4. 釋放配置給pTCPStats參數所指向之MIB_TCPSTATS結構的記憶體。 一旦應用程式不再需要 pTCPStats 參數所傳回的資料,就應該這麼做。

    if (pTCPStats)
        free(pTCPStats);
    

下一個步驟: 使用 GetIpStatistics 擷取資訊

上一個步驟: 使用 GetIpStatistics 擷取資訊

完整原始程式碼