System.SyncObjs.TMutex.Create

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

constructor Create(UseCOMWait: Boolean = False); overload;
constructor Create(MutexAttributes: PSecurityAttributes; InitialOwner: Boolean; const Name: string; UseCOMWait: Boolean = False); overload;
constructor Create(DesiredAccess: Cardinal; InheritHandle: Boolean; const Name: string; UseCOMWait: Boolean = False); overload;

C++

__fastcall TMutex(bool UseCOMWait)/* overload */;
__fastcall TMutex(Winapi::Windows::PSecurityAttributes MutexAttributes, bool InitialOwner, const System::UnicodeString Name, bool UseCOMWait)/* overload */;
__fastcall TMutex(unsigned DesiredAccess, bool InheritHandle, const System::UnicodeString Name, bool UseCOMWait)/* overload */;

プロパティ

種類 可視性 ソース ユニット
constructor public
System.SyncObjs.pas
System.SyncObjs.hpp
System.SyncObjs TMutex


説明

TMutex オブジェクトをインスタンス化します。

Create を呼び出すと、TMutex オブジェクトを作成することができます。

第 1 のコンストラクタでは、デフォルトのセキュリティ ディスクリプタを用いる無名ミューテックスを作成し、そのミューテックスを作成したスレッドがミューテックスの初期オーナーにならないように設定します。 UseCOMWait パラメータを設定すると、スレッドがブロックされてオブジェクトを待っているときでも、任意の STA COM 呼び出しを逆にこのスレッドに対して行うことができます。


第 2 のコンストラクタでは、以下のパラメータ リストに示されたいくつかの属性を持つ名前付きミューテックスを作成します。

パラメータ

意味

MutexAttributes

ミューテックスのセキュリティ属性です。 MutexAttributes_SECURITY_ATTRIBUTES レコードへのポインタ型であり、nLengthlpSecurityDescriptorInheritHandle の各フィールドを持っています。

nLength フィールドは、_SECURITY_ATTRIBUTES レコードのサイズ(バイト単位)と必ず等しくなければなりません。 lpSecurityDescriptor は、ミューテックスのセキュリティ ディスクリプタへのポインタです。 最後の InheritHandle は、ミューテックスのハンドルを子プロセスに継承させる場合に True になります。

InitialOwner

これを設定すると、このミューテックスを作成したスレッドはミューテックスの初期オーナーとみなされます。

名前

ミューテックスの名前です。 名前は大文字/小文字が区別されます。

UseCOMWait

このパラメータを設定すると、スレッドがブロックされてオブジェクトを待っているときでも、任意の STA COM 呼び出しを逆にこのスレッドに対して行うことができます。


第 3 のコンストラクタでは、名前を指定して既存のミューテックスを開くことができます。 各パラメータの意味は以下のとおりです。

パラメータ

意味

DesiredAccess

ミューテックスに対するアクセスの種類です。 要求した種類のアクセスが許可されなかった場合、コンストラクタは失敗します。 MUTEX_ALL_ACCESSMUTEX_MODIFY_STATESYNCHRONIZE_DELETEREAD_CONTROLWRITE_DACWRITE_OWNER という定数を任意に組み合わせて指定できます。 SYNCHRONIZE アクセス権はミューテックス固有のものであるため、どの組み合わせにも含めなければなりません。

InheritHandle

このパラメータを設定すると、子プロセスはミューテックス ハンドルを継承します。

名前

開くミューテックスの名前です。 名前は大文字/小文字が区別されます。

UseCOMWait

このパラメータを設定すると、スレッドがブロックされてオブジェクトを待っているときでも、任意の STA COM 呼び出しを逆にこのスレッドに対して行うことができます。

関連項目