UDP統計値を取得          <TOP>


GetUdpStatistics UDP統計値を取得
 

MIB_UDPSTATS構造体からUDP(User Datagram Protocol)統計値を取得します。

 

'================================================================
'= UDP統計値を取得
'=    (GetUdpStatistics.bas)
'================================================================
#include "Windows.bi"

Type MIB_UDPSTATS
    dwInDatagrams  As Long            '受信したデータグラム数
    dwNoPorts      As Long            'サービスを提供していないポート宛に送られてきて破棄されたデータグラム数
    dwInErrors     As Long            '受信エラー数
    dwOutDatagrams As Long            '送信したデータグラム数
    dwNumAddrs     As Long            'UDP listener tableのエントリ数
End Type

' UDP統計値を取得
Declare Function Api_GetUdpStatistics& Lib "iphlpapi" Alias "GetUdpStatistics" (pStats As MIB_UDPSTATS)

Var Shared List1 As Object
Var Shared Button1 As Object

List1.Attach GetDlgItem("List1") : List1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var us As MIB_UDPSTATS
    Var Item As String
    Var Ret As Long

    'リストビューを初期化
    List1.Resetcontent

    'TCP統計値を取得
    Ret = Api_GetUdpStatistics(us)

    'InDatagramsを表示
    Item = Trim$(Str$(us.dwInDatagrams))
    List1.AddString "InDatagrams  : " & Item

    'NoPortsを表示
    Item = Trim$(Str$(us.dwNoPorts))
    List1.AddString "NoPorts      : " & Item

    'InErrorsを表示
    Item = Trim$(Str$(us.dwInErrors))
    List1.AddString "InErrors     : " & Item

    'OutDatagramsを表示
    Item = Trim$(Str$(us.dwOutDatagrams))
    List1.AddString "OutDatagrams : " & Item

    'NumAddrsを表示
    Item = Trim$(Str$(us.dwNumAddrs))
    List1.AddString "NumAddrs     : " & Item
End Sub

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