CH3COOH(酢酸)のさくっと393

VB.NET(VS2003)でお仕事中.Windows Mobile大好きです。

ホーム 連絡をする 同期する ( RSS 2.0 ) Login
投稿数  413  : 記事  0  : コメント  7766  : トラックバック  93

ニュース

CH3COOH(酢酸)の実験室 or SOFTBUILD

書庫

日記カテゴリ

とある処理をWindows Mobileで調べようと思って、
処理後の時間-処理前の時間でかかった時間を求めようと、
下記のコードを書いてみました。

Public Class QueryPerformance

    <DllImport("kernel32.dll")> _
    Private Shared Function QueryPerformanceCounter(ByRef value As Long) As Short
    End Function

    <DllImport("kernel32.dll")> _
    Private Shared Function QueryPerformanceFrequency(ByRef value As Long) As Short
    End Function

    Public Shared Function GetTime() As Double

        Dim counter As Long = 0
        Dim frequency As Long = 0

        ' 高分解能パフォーマンスカウンタが存在する場合、
        ' そのカウンタの現在の値を取得します。
        QueryPerformanceCounter(counter)

        ' 高分解能パフォーマンスカウンタが存在する場合、
        ' そのカウンタの周波数(更新頻度)を取得します。
        ' システムが動作している間は、周波数を変更できません。
        QueryPerformanceFrequency(frequency)

        Return counter / frequency
    End Function
End Class

実行するとkernel32.dllが無いと例外が発生してしまいました。
結局、System.Environment.TickCountを使うことにしました。

 

……ん?前も同じような事で悩んだ記憶が……

投稿日時 : 2009年1月27日 23:31

コメント

# re: [WindowsMobile][VB]パフォーマンスのチェックをしてみた 2009/02/01 9:46 高見知英
Windows MobileではWinAPIはcoredll.dllにまとまってるようです。ひょっとしたらこれらAPIもcoredll.dllにあるかもしれません。

ここのyasuhoさんのコメントが参考になるかもです。
http://d.hatena.ne.jp/TakamiChie/20070126/1169762969#c

# re: [WindowsMobile][VB]パフォーマンスのチェックをしてみた 2009/02/01 10:04 tmyt
たぶんcoredll.dll にありますよー.このあいだそのAPI自体はC++から呼び出したのでどっかにあるはずです

Post Feedback

タイトル
名前
Url:
コメント