指定したスレッドのサイクル時間を取得します。
構文
BOOL QueryThreadCycleTime(
[in] HANDLE ThreadHandle,
[out] PULONG64 CycleTime
);
パラメーター
[in] ThreadHandle
スレッドのハンドル。 ハンドルには、THREAD_QUERY_INFORMATIONまたはTHREAD_QUERY_LIMITED_INFORMATIONアクセス権が必要です。 詳細については、「スレッド セキュリティとアクセス権の」を参照してください。
[out] CycleTime
スレッドによって使用される CPU クロック サイクルの数。 この値には、ユーザー モードとカーネル モードの両方で費やされたサイクルが含まれます。
戻り値
関数が成功した場合、戻り値は 0 以外です。
関数が失敗した場合、戻り値は 0 です。 拡張エラー情報を取得するには、GetLastError
備考
プロセスのスレッドを列挙するには、
QueryThreadCycleTime によって返される CPU クロック サイクルを経過時間に変換しないでください。 この関数は、CPU によって提供されるタイマー サービスを使用します。これは実装によって異なる場合があります。 たとえば、CPU の実行頻度を変更するときにタイマーの頻度が変わる CPU もあれば、固定レートのままにしておく CPU もあります。 各 CPU の動作については、CPU ベンダーが提供するドキュメントで説明されています。
この関数を使用するアプリケーションをコンパイルするには、_WIN32_WINNTを 0x0600 以降として定義します。
必要条件
| 要件 | 価値 |
|---|---|
| サポートされる最小クライアント | Windows Vista [デスクトップ アプリのみ] |
| サポートされる最小サーバー | Windows Server 2008 [デスクトップ アプリのみ] |
| ターゲット プラットフォーム の |
ウィンドウズ |
| ヘッダー | realtimeapiset.h (Windows 7、Windows Server 2008 Windows Server 2008 R2 の Windows.h を含む) |
| ライブラリ | Mincore.lib |
| DLL | Kernel32.dll |