ども。おはようです。

681が、スレッドの状態を知りたかったのは、

while( WaitForSingleObject( event, INFINITE ), true ) {
// なんか処理
}
とかでイベントを待ってるスレッドに
PulseEvent() で、イベントを伝えたかったからです。

[1] スレッドの状態が解れば、最悪Busyループを組むことでとにかくイベントは伝えられますよね。
[2] "スレッドが待機中になるまで待つ"システムコールなんかがあると最良かな。


で、
[1]のための方法が"クリティカルセッションで囲んで、TryEnterCr..."で、
[2]のための方法が、SingleObjectAndWait() な訳ですね。
そんで、[1]も[2]も、Win9xではサポートされない、と。

Win2000とかのときだけ、これらの方法を採って、
Win98とかのときは"WaitForSingleObject()の前後でフラグ or Mutex"でお茶を濁す、
って云うのが現実的かなぁ。