<Return[PQ]><Top>

QueryPerformanceCounter

Declare Function Api_QueryPerformanceCounter& Lib "kernel32" Alias "QueryPerformanceCounter" (lpPerformanceCount As LARGE_INTEGER)

Declare Function QueryPerformanceCounter Lib "kernel32"  (lpPerformanceCount As LARGE_INTEGER) As Long

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

パラメータ
lpPerformanceCount
    1 個の変数へのポインタを指定する。関数から制御が返ると、この変数に、高分解能パフォーマンスカウンタの現在の値が格納される。

    インストール先のハードウェアが高分解能パフォーマンスカウンタをサポートしていない場合、この変数に 0 が格納されることがある。

戻り値
    インストール先のハードウェアが高分解能パフォーマンスカウンタをサポートしている場合、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。

    たとえば、インストール先のハードウェアが高分解能パフォーマンスカウンタをサポートしていない場合、この関数は失敗する。

解説
    マルチプロセッサのコンピュータを使っている場合、どのプロセッサを呼び出しても問題はない。

    ただし、BIOS または HAL(ハードウェアエミュレーションレイヤ)のバグが原因で、異なったプロセッサを呼び出すと、異なった結果を取得

    する可能性がある。

    特定のスレッドに対するプロセッサの親和性を指定する(特定のスレッドでただ 1 つのプロセッサを使うよう指定する)には、

    SetThreadAffinityMask 関数を使う。

 

参考

    LARGE_INTEGER 構造体