次の方法で共有


CMutex::CMutex

名前付き、または名前なしの CMutex オブジェクトを構築します。

CMutex(
   BOOL bInitiallyOwn = FALSE,
   LPCTSTR lpszName = NULL,
   LPSECURITY_ATTRIBUTES lpsaAttribute = NULL 
);

パラメーター

  • bInitiallyOwn
    CMutex オブジェクトを作成するスレッドが、ミューテックスで制御されるリソースのアクセス権を最初に持つかどうかを指定します。

  • lpszName
    CMutex オブジェクトの名前。 オブジェクトがプロセス間にまたがって使用されるときに、同じ名前で別のミューテックスが存在する場合、このパラメーターを指定します。 NULL を指定すると、ミューテックスは名前なしになります。 名前が既存のミューテックスと一致すると、コンストラクターはその名前のミューテックスを参照する新しい CMutex オブジェクトを構築します。 名前が既存の同期オブジェクトと一致し、それがミューテックスでないと構築は失敗します。

  • lpsaAttribute
    ミューテックス オブジェクトのセキュリティ属性。 この構造体の詳細については、Windows SDK の「SECURITY_ATTRIBUTES」を参照してください。

解説

CMutex オブジェクトにアクセスするまたはオブジェクトを解放するには、CMultiLock オブジェクトまたは CSingleLock オブジェクトを構築し、そのオブジェクトの Lock および Unlock メンバー関数を呼び出します。 CMutex オブジェクトがスタンドアロンで使われているときは、Unlock メンバー関数を呼び出して解放します。

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

CMutex オブジェクトを作成した後で、GetLastError を使用して、ミューテックスが存在しないことを確認してください。 予期しないミューテックスが存在する場合は、プロセスに問題が発生したり、ミューテックスが悪用されたりする可能性があります。 この場合は、ハンドルを閉じ、オブジェクトの作成時にエラーが発生したときと同様の手順で処理を継続して、セキュリティを強化することをお勧めします。

必要条件

**ヘッダー:**afxmt.h

参照

参照

CMutex クラス

階層図

その他の技術情報

CMutex のメンバー