CEvent::CEvent
更新 : 2007 年 11 月
名前付き、または名前なしの CEvent オブジェクトを構築します。
CEvent(
BOOL bInitiallyOwn = FALSE,
BOOL bManualReset = FALSE,
LPCTSTR lpszName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttribute = NULL
);
パラメータ
bInitiallyOwn
TRUE の場合、CMultilock オブジェクトまたは CSingleLock オブジェクトのスレッドは有効です。それ以外の場合、リソースにアクセスしようとするスレッドは待機する必要があります。bManualReset
TRUE を指定すると、イベント オブジェクトは手動イベントになり、それ以外を指定すると、自動イベントになります。lpszName
CEvent オブジェクトの名前。オブジェクトがプロセス間で使われる場合には必ず指定します。名前が既存のイベントと一致すると、コンストラクタはその名前のイベントを参照する新しい CEvent オブジェクトを構築します。名前がイベントではない既存の同期オブジェクトと一致すると、構築は失敗します。NULL を指定すると、名前は空になります。lpsaAttribute
イベント オブジェクトのセキュリティ属性。この構造体の詳細については、Windows SDK の「SECURITY_ATTRIBUTES」を参照してください。
解説
CEvent オブジェクトにアクセスするまたはオブジェクトを解放するには、CMultiLock オブジェクトまたは CSingleLock オブジェクトを構築し、そのオブジェクトの Lock および Unlock メンバ関数を呼び出します。
CEvent オブジェクトをシグナル (スレッドが待機しなくてよい) 状態にするには、SetEvent または PulseEvent を呼び出します。CEvent オブジェクトを非シグナル (スレッドが待機しなくてはならない) 状態にするには、ResetEvent を呼び出します。
セキュリティに関するメモ : |
---|
CEvent オブジェクトを作成した後に、GetLastError を使用して、ミューテックスが存在しないことを確認してください。予期しないミューテックスが存在する場合は、プロセスに問題が発生したり、ミューテックスが悪用されたりする可能性があります。この場合は、ハンドルを閉じ、オブジェクトの作成時にエラーが発生したときと同様の手順で処理を継続して、セキュリティを強化することをお勧めします。 |
必要条件
ヘッダー : afxmt.h