IPに関する統計情報を取得         <TOP>


IPに関する統計情報を取得します。

GetIpStatistics IP(Internet Protocol)の統計値を取得

 

 

'================================================================
'= IPに関する統計情報を取得
'=    (GetIpStatistics.bas)
'================================================================
#include "Windows.bi"

Type MIB_IPSTATS
    dwForwarding      As Long         'IPフォワーディングのEnabled/Disabledを示す
    dwDefaultTTL      As Long         'Default TTL(Time-To-Live)
    dwInReceives      As Long         '受信したデータグラムの数
    dwInHdrErrors     As Long         'ヘッダエラーを含むデータグラムを受信した数
    dwInAddrErrors    As Long         'アドレスエラーを含むデータグラムを受信した数
    dwForwDatagrams   As Long         'フォワードしたデータグラムの数
    dwInUnknownProtos As Long         '不明なプロトコルを持つデータグラムを受信した数
    dwInDiscards      As Long         'Discardしたデータグラムの数
    dwInDelivers      As Long         '受信したデータグラムのうち、配送されたものの数
    dwOutRequests     As Long         '送信しようとしたデータグラムの数
    dwRoutingDiscards As Long         '送信されずにDiscardされたデータグラムの数
    dwOutDiscards     As Long         'Discardされた転送データグラムの数
    dwOutNoRoutes     As Long         '経路が存在せずにDiscardされたデータグラムの数
    dwReasmTimeout    As Long         'リアセンブルをあきらめるまでのタイムアウト
    dwReasmReqds      As Long         'リアセンブルを要求したデータグラムの数
    dwReasmOks        As Long         'リアセンブルが成功したデータグラムの数
    dwReasmFails      As Long         'リアセンブルが失敗したデータグラムの数
    dwFragOks         As Long         'フラグメントが成功したデータグラム数
    dwFragFails       As Long         'フラグメントが失敗したデータグラム数
    dwFragCreates     As Long         '生成されたフラグメント数
    dwNumIf           As Long         'インターフェース数
    dwNumAddr         As Long         'ローカルマシンに関連するIPアドレスの数
    dwNumRoutes       As Long         '経路表にある経路の数
End Type

' IP(Internet Protocol)の統計値を取得
Declare Function Api_GetIpStatistics& Lib "iphlpapi" Alias "GetIpStatistics" (pStats As MIB_IPSTATS)

Var Shared List1 As Object
List1.Attach GetDlgItem("List1") : List1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Var IpStats As MIB_IPSTATS

    Ret = Api_GetIpStatistics(IpStats)

    List1.ResetContent
    List1.AddString "dwForwarding      " & Str$(IpStats.dwForwarding)
    List1.AddString "dwDefaultTTL      " & Str$(IpStats.dwDefaultTTL)
    List1.AddString "dwInReceives      " & Str$(IpStats.dwInReceives)
    List1.AddString "dwInHdrErrors     " & Str$(IpStats.dwInHdrErrors)
    List1.AddString "dwInAddrErrors    " & Str$(IpStats.dwInAddrErrors)
    List1.AddString "dwForwDatagrams   " & Str$(IpStats.dwForwDatagrams)
    List1.AddString "dwInUnknownProtos " & Str$(IpStats.dwInUnknownProtos)
    List1.AddString "dwInDiscards      " & Str$(IpStats.dwInDiscards)
    List1.AddString "dwInDelivers      " & Str$(IpStats.dwInDelivers)
    List1.AddString "dwOutRequests     " & Str$(IpStats.dwOutRequests)
    List1.AddString "dwRoutingDiscards " & Str$(IpStats.dwRoutingDiscards)
    List1.AddString "dwOutDiscards     " & Str$(IpStats.dwOutDiscards)
    List1.AddString "dwOutNoRoutes     " & Str$(IpStats.dwOutNoRoutes)
    List1.AddString "dwReasmTimeout    " & Str$(IpStats.dwReasmTimeout)
    List1.AddString "dwReasmReqds      " & Str$(IpStats.dwReasmReqds)
    List1.AddString "dwReasmOks        " & Str$(IpStats.dwReasmOks)
    List1.AddString "dwReasmFails      " & Str$(IpStats.dwReasmFails)
    List1.AddString "dwFragOks         " & Str$(IpStats.dwFragOks)
    List1.AddString "dwFragFails       " & Str$(IpStats.dwFragFails)
    List1.AddString "dwFragCreates     " & Str$(IpStats.dwFragCreates)
    List1.AddString "dwNumIf           " & Str$(IpStats.dwNumIf)
    List1.AddString "dwNumAddr         " & Str$(IpStats.dwNumAddr)
    List1.AddString "dwNumRoutes       " & Str$(IpStats.dwNumRoutes)
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End