次の方法で共有


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 オブジェクトの状態を変更するには (スレッドは待機する必要がありません)、呼び出し SetEventPulseEvent。nonsignaled への CEvent オブジェクトの状態を設定する (スレッドは待機する場合、呼び出し ResetEvent

セキュリティに関するメモセキュリティに関するメモ

CEvent のオブジェクトを作成した後、ミューテックスが既に存在しなかったことを確認します GetLastError。ミューテックスが予期せずにある場合は、ミューテックスが非承認なプロセスによってしゃがんでが、悪意を使用する可能性があることを示す場合があります。この場合、推奨されるセキュリティに対する意識の高いプロシージャはハンドルを閉じ、オブジェクトの作成時にエラーがあるかのように従うことです。

必要条件

Header: afxmt.h

参照

関連項目

CEvent クラス

階層図