次の方法で共有


CMutex::CMutex

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

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

パラメーター

  • bInitiallyOwn
    CMutex のオブジェクトを作成するスレッドにミューテックスによって制御されるリソースにアクセスできる場合は、指定します。

  • lpszName
    CMutex オブジェクトの名前。同じ名前を持つ別のミューテックスがある場合は、lpszName は、オブジェクトがプロセスの境界を越えて使用 minutes。null、ミューテックスがない場合は。名前が既存のミューテックスと一致する場合、コンストラクターは、その名前のミューテックスを参照する CMutex の新しいオブジェクトを構築します。名前がミューテックスではない既存の同期オブジェクトに一致する場合、構造体は失敗します。

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

解説

CMutex のオブジェクトにアクセスまたは解放するために、CMultiLock または CSingleLock のオブジェクトを作成し、[ロック][ロック解除] のメンバー関数を呼び出します。CMutex のオブジェクトが使用されているスタンドアロン、それを解放するために Unlock のメンバー関数を呼び出します。

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

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

必要条件

Header: afxmt.h

参照

関連項目

CMutex クラス

階層図