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