EventWaitHandleAcl.Create メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
EventWaitHandle インスタンスを取得または作成します。これにより、イベントの作成時に必要に応じて EventWaitHandleSecurity インスタンスを設定するように指定できます。
public:
static System::Threading::EventWaitHandle ^ Create(bool initialState, System::Threading::EventResetMode mode, System::String ^ name, [Runtime::InteropServices::Out] bool % createdNew, System::Security::AccessControl::EventWaitHandleSecurity ^ eventSecurity);
public static System.Threading.EventWaitHandle Create (bool initialState, System.Threading.EventResetMode mode, string? name, out bool createdNew, System.Security.AccessControl.EventWaitHandleSecurity? eventSecurity);
static member Create : bool * System.Threading.EventResetMode * string * bool * System.Security.AccessControl.EventWaitHandleSecurity -> System.Threading.EventWaitHandle
Public Shared Function Create (initialState As Boolean, mode As EventResetMode, name As String, ByRef createdNew As Boolean, eventSecurity As EventWaitHandleSecurity) As EventWaitHandle
パラメーター
- initialState
- Boolean
名前の付いたイベントがこの呼び出しの結果として作成された場合に、初期状態をシグナル状態に設定するには true
、非シグナル状態に設定するには false
。
- mode
- EventResetMode
イベントが自動的にまたは手動でリセットされるかを指定する列挙値の 1 つ。
- name
- String
同期オブジェクトが他のプロセスと共有される場合は、名前。それ以外の場合は、null
または空の文字列。 名前の大文字と小文字は区別されます。 円記号 (\) は予約されており、名前空間の指定にのみ使用できます。 名前空間の詳細については、「解説」セクションを参照してください。 オペレーティング システムによっては、名前にさらに制限がある場合があります。 たとえば、Unix ベースのオペレーティング システムでは、名前空間を除外した後の名前は有効なファイル名である必要があります。
- createdNew
- Boolean
ローカル イベントが作成された場合、つまり name
が null
または Empty の場合、このメソッドから戻るときにこの引数は常に true
に設定されます。
name
に有効な空でない値が含まれている場合、システム イベントが作成されるときにこの引数は true
に設定されます。または、既存のシステム イベントがその名前で見つかった場合は false
に設定されます。
- eventSecurity
- EventWaitHandleSecurity
適用する省略可能な Windows アクセス制御セキュリティ。
戻り値
要求されたイベント待機ハンドルを表す オブジェクト。
例外
mode
列挙値が適正範囲外でした。 場合によっては、代わりに ArgumentException がスローされます。
name
が無効です。 これは、不明なプレフィックスや無効な文字など、オペレーティング システムによって配置される可能性のある制限など、さまざまな理由で発生する可能性があります。 名前と共通プレフィックス "Global\" と "Local\" では大文字と小文字が区別されることに注意してください。
または
他にもエラーが発生しました。
HResult
プロパティにさらに情報が含まれている場合があります。
Windows のみ: name
により不明な名前空間が指定されました。 詳しくは、「オブジェクト名」をご覧ください。
name
は長すぎます。 長さの制限は、オペレーティング システムまたは構成によって異なる場合があります。
指定された name
を持つ同期オブジェクトを作成できません。 別の型の同期オブジェクトに同じ名前が指定されている可能性があります。
名前付きイベントは存在しますが、必要なセキュリティ アクセスがユーザーにありません。
.NET Framework のみ: name
の長さが MAX_PATH (260 文字) を超えています。
注釈
名前空間をname
指定するには、 または のプレフィックスGlobal\
Local\
を付けます。 名前空間を Global
指定すると、同期オブジェクトをシステム上の任意のプロセスと共有できます。 名前空間が Local
指定されている場合(名前空間が指定されていない場合の既定値)、同期オブジェクトは同じセッション内のプロセスと共有される場合があります。 Windows では、セッションはログイン セッションであり、通常、サービスは別の非対話型セッションで実行されます。 Unix に似たオペレーティング システムでは、各シェルに独自のセッションがあります。 セッションローカル同期オブジェクトは、同じセッションで実行される親子関係を持つプロセス間の同期に適している場合があります。 Windows での同期オブジェクト名の詳細については、「 オブジェクト名」を参照してください。
name
が指定され、要求された型の同期オブジェクトが名前空間に既に存在する場合は、既存の同期オブジェクトが開かれます。 別の型の同期オブジェクトが名前空間に既に存在する場合は、 WaitHandleCannotBeOpenedException
がスローされます。 それ以外の場合は、新しい同期オブジェクトが作成されます。
注意事項
既定では、名前付きイベントは、それを作成したユーザーに制限されません。 他のユーザーは、イベントを不適切に設定またはリセットすることによってイベントを妨害するなど、イベントを開いて使用できる場合があります。 特定のユーザーへのアクセスを制限するために、名前付きイベントを作成するときに を渡 EventWaitHandleSecurity すことができます。 信頼されていないユーザーがコードを実行している可能性があるシステムでは、アクセス制限なしで名前付きイベントを使用しないでください。
適用対象
.NET