QueryThreadCycleTime 関数 (realtimeapiset.h)

指定したスレッドのサイクル時間を取得します。

構文

BOOL QueryThreadCycleTime(
  [in]  HANDLE   ThreadHandle,
  [out] PULONG64 CycleTime
);

パラメーター

[in] ThreadHandle

スレッドへのハンドル。 ハンドルには、PROCESS_QUERY_INFORMATIONまたはPROCESS_QUERY_LIMITED_INFORMATIONアクセス権が必要です。 詳細については、「 セキュリティとアクセス権の処理」を参照してください。

[out] CycleTime

スレッドによって使用される CPU クロック サイクルの数。 この値には、ユーザー モードとカーネル モードの両方で費やされたサイクルが含まれます。

戻り値

関数が成功すると、戻り値は 0 以外になります。

関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。

解説

プロセスのスレッドを列挙するには、 Thread32First 関数と Thread32Next 関数を使用します。 スレッド識別子のスレッド ハンドルを取得するには、 OpenThread 関数を使用します。

QueryThreadCycleTime によって返される CPU クロック サイクルを経過時間に変換しないでください。 この関数は、CPU によって提供されるタイマー サービスを使用します。これは実装によって異なる場合があります。 たとえば、CPU の実行頻度を変更するとタイマーの頻度が変わる CPU もあれば、固定レートのままにしておく CPU もあります。 各 CPU の動作については、CPU ベンダーが提供するドキュメントを参照してください。

この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNTを 0x0600 以降として定義します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー realtimeapiset.h (Windows 7 の Windows.h、Windows Server 2008 Windows Server 2008 R2 を含む)
Library Kernel32.lib
[DLL] Kernel32.dll

関連項目

QueryIdleProcessorCycleTime

QueryProcessCycleTime