Microsoft DirectX 8.0 |
手動および自動リセット イベントのラッパー クラス。
定義: Wxutil.h
このクラスは CreateEvent、WaitForSingleObject、ResetEvent のような Microsoft® Win32® 関数よりも簡便なイベント管理方法を提供する。
プロテクト メンバ変数 | |
---|---|
m_hEvent | イベント ハンドル。 |
Public メソッド | |
CAMEvent | コンストラクタ メソッド。 |
~CAMEvent | デストラクタ メソッド。 |
Check | イベントがブロッキングなしに設定されているかどうかをチェックする。 |
Reset | イベントの状態を未通知に設定する。 |
Set | イベントのシグナル |
Wait | イベントが通知済になるか、タイムアウトが発生するまでブロックする。 |
演算子 | |
HANDLE | イベント ハンドルを取得する。 |
イベント ハンドル。
構文
HANDLE m_hEvent;
コンストラクタ メソッド。
構文
CAMEvent( BOOL fManualReset = FALSE );
パラメータ
- fManualReset
- オブジェクトが手動リセット イベントまたは自動リセット イベントのどちらであるかを指定するブール型の値。TRUE の場合、オブジェクトは手動リセット イベントである。それ以外の場合は、自動リセット イベントである。
注意
イベントは未通知状態で始まる。
自動リセット イベントの場合、CAMEvent::Wait メソッドは、メソッドが返るときにイベントを未通知にリセットする。手動リセット イベントの場合、CAMEvent::Reset メソッドを呼び出すまで、イベントは通知済のままである。
ディストラクタ メソッド
構文
~CAMEvent(void);
イベントがブロッキングなしに設定されているかどうかをチェックする。
構文
BOOL Check(void);
注意
イベントが設定されている場合は TRUE、それ以外の場合は FALSE を返す。
注意
このメソッドは、タイムアウトに 0 を指定して Wait メソッドを呼び出す。オブジェクトが自動リセット イベントの場合、このメソッドはイベントをリセットする。
イベントの状態を未通知に設定する。
構文
void Reset(void);
イベントのシグナル。
構文
void Reset(void);
注意
この振る舞いはオブジェクトが自動リセットイベントか、手動リセット イベントかに依存する :
- 自動リセット : 任意のスレッドがこのイベントを待っている場合、あるスレッドが解放されイベントはリセットされる。このイベントを待っているスレッドがない場合、イベントは通知済のまま残る。
- 手動リセット : このイベントを待っているすべてのスレッドが解放される。イベントは通知済のまま残る。
イベントが通知済になるか、タイムアウトが発生するまでブロックする。
構文
BOOL Wait( DWORD dwTimeout = INFINITE );
パラメータ
- dwTimeout
- オプションのタイムアウト値 (ミリ秒単位)。
戻り値
イベントが通知済になった場合は、TRUE を返す。それ以外の場合は、FALSE を返す。
注意
自動リセット イベントの場合、このメソッドが返るとイベントは未通知状態にリセットされる。
イベント ハンドルを取得する。この演算子は左辺値はサポートされない。
構文
operator HANDLE () const;
戻り値
m_hEvent メンバ変数を返す。