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 を使用した情報の取得
完全なソース コード