0
スレッド情報ブロックは広く知られていて、いくつかの重要な情報へのアクセスに使用できます。しかし、それを使ってデータを保存することはできますか?Win32 TIBにデータを保存する
私は構造体がオフセット14h
(x86)/ 28h
(x86-64)の任意のポインタ用のスロットを持っているのを見ました。
このポインタを使用して、自分のスケジューラから自分のスレッド構造をポイントできますか?それとも何か他のものによって上書きされますか?
はい、私はこの解決策を認識しています。これは、ユーザがスロットを 'TlsFree()'でオーバーライドすることができるので、問題を引き起こす可能性があります。 – Leandros
ユーザーは?あなたが参照しているこのユーザーは誰ですか?彼らはあなたの知識なしにあなたのプログラムにコードを書いていますか? TLSスロットを解放しないことを約束する必要があります。ちょうどあなたがTIBに書き込まないことを約束する必要があるように。 TLSを使用します。 TIBはプライベートです。 –
@DavidHeffernanはい。私はTLSを使用することはできません。なぜなら、それは私には当てはまらない仮定をする必要があるからです。とにかくTLSにアクセスするためにTIBを使用しなければならないという意味でインデックスにはアクセスできません。ユーザーがエントリポイントを置き換えずに最初のTLSスロットに何か書き込んだと仮定する必要があります。 – Leandros