CEvent::CEvent
CEvent の名前または名前のないオブジェクトを構築します。
CEvent(
BOOL bInitiallyOwn = FALSE,
BOOL bManualReset = FALSE,
LPCTSTR lpszName = NULL,
LPSECURITY_ATTRIBUTES lpsaAttribute = NULL
);
パラメーター
bInitiallyOwn
CMultilock の [真]、スレッドまたは CSingleLock のオブジェクトが有効になります。それ以外の場合は、リソースにアクセスするすべてのスレッドは待機する必要があります。bManualReset
イベント オブジェクトは手動イベントであることを **[真]**場合、そのイベントのオブジェクトも自動イベントです。lpszName
CEvent オブジェクトの名前。オブジェクトがプロセスの境界を越えて使用 minutes。名前が既存のイベントと一致する場合、コンストラクターは、その名前のイベントを参照する CEvent の新しいオブジェクトを構築します。名前がイベントではない既存の同期オブジェクトに一致する場合、構造体は失敗します。nullが、名前が null の場合は。lpsaAttribute
イベント オブジェクトのセキュリティ属性。この構造体の詳細については、Windows SDKの SECURITY_ATTRIBUTES を参照してください。
解説
CEvent のオブジェクトにアクセスまたは解放するために、CMultiLock または CSingleLock のオブジェクトを作成し、[ロック] と [ロック解除] のメンバー関数を呼び出します。
シグナル状態への CEvent オブジェクトの状態を変更するには (スレッドは待機する必要がありません)、呼び出し SetEvent か PulseEvent。nonsignaled への CEvent オブジェクトの状態を設定する (スレッドは待機する場合、呼び出し ResetEvent。
セキュリティに関するメモ |
---|
CEvent のオブジェクトを作成した後、ミューテックスが既に存在しなかったことを確認します GetLastError。ミューテックスが予期せずにある場合は、ミューテックスが非承認なプロセスによってしゃがんでが、悪意を使用する可能性があることを示す場合があります。この場合、推奨されるセキュリティに対する意識の高いプロシージャはハンドルを閉じ、オブジェクトの作成時にエラーがあるかのように従うことです。 |
必要条件
Header: afxmt.h