0

Win CE 用の rt ドライバーを開発しています。目的を達成するには、スレッドの優先順位を変更できる必要があります。しかし問題は、Microsoft のおかげで特別なソース コードを持っていないことです! したがって、スレッドが作成された場所でスレッドの優先度を設定することはできません。

現在、私が知っているのは、Visual Sudio のスレッド ウィンドウから読み取ったスレッドの名前 (threadname) です。(pThread、hThread の値は常に変化するため、使用できません。静的なものはスレッド名のみです。) 名前だけを知っているスレッドに値を割り当てることはできますか? (その名前を知っていれば、固有のスレッド ID を見つけることができますか?) スレッドの組み込み関数を調べたところ、呼び出しスレッドの疑似ハンドルを取得する GetCurrentThread 関数が存在します。しかし、それは私には適していません。将来的には、現在のスレッドが私が望むものであると確信できないからです。したがって、別のスレッドの優先度を設定する場合があります。

要約すると、スレッド名を知るだけでスレッドの優先度を設定する方法はありますか?

よろしく、

センティウス

4

2 に答える 2

1

名前でスレッド ID を推測することはできないようですが、CreateToolhelp32Snapshot 関数を使用してみると、すべてのスレッドまたはプロセスを一覧表示できます。プロセス名がわかっている場合は、プロセス ID を推測できます。このプロセスに属するスレッドと一致します。幸運を!

于 2013-04-25T08:37:21.597 に答える