MutexAccessRule コンストラクタとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > MutexAccessRule コンストラクタの意味・解説 

MutexAccessRule コンストラクタ (IdentityReference, MutexRights, AccessControlType)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

規則適用するユーザーまたはグループアクセス権、および指定したアクセス権許可するかどうか指定して、MutexAccessRule クラス新しインスタンス初期化します。

名前空間: System.Security.AccessControl
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    identity As IdentityReference, _
    eventRights As MutexRights, _
    type As AccessControlType _
)
Dim identity As IdentityReference
Dim eventRights As MutexRights
Dim type As AccessControlType

Dim instance As New MutexAccessRule(identity,
 eventRights, type)
public MutexAccessRule (
    IdentityReference identity,
    MutexRights eventRights,
    AccessControlType type
)
public:
MutexAccessRule (
    IdentityReference^ identity, 
    MutexRights eventRights, 
    AccessControlType type
)
public MutexAccessRule (
    IdentityReference identity, 
    MutexRights eventRights, 
    AccessControlType type
)
public function MutexAccessRule (
    identity : IdentityReference, 
    eventRights : MutexRights, 
    type : AccessControlType
)

パラメータ

identity

規則適用対象となるユーザーまたはグループSecurityIdentifier 型にするか、または SecurityIdentifier 型に変換できる NTAccount などの型にする必要があります

eventRights

許可されアクセス権または拒否されアクセス権指定する MutexRights 値のビットごとの組み合わせ

type

アクセス権許可されているかどうか指定する AccessControlType 値の 1 つ

例外例外
例外種類条件

ArgumentOutOfRangeException

eventRights無効な値が指定されています。

または

type無効な値が指定されています。

ArgumentNullException

identitynull 参照 (Visual Basic では Nothing) です。

または

eventRights が 0 です。

ArgumentException

identitySecurityIdentifierではなくSecurityIdentifier 型に変換できる NTAccount などの型でもありません。

解説解説

(WaitOne、WaitAny、WaitAll のいずれかメソッド呼び出して) Mutex待機するには、ユーザーに MutexRights.Synchronize アクセス権が必要です。ReleaseMutex メソッド呼び出してミューテックス解放するには、ユーザーに MutexRights.Modify アクセス権が必要です。

プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
MutexAccessRule クラス
MutexAccessRule メンバ
System.Security.AccessControl 名前空間

MutexAccessRule コンストラクタ

MutexAccessRule クラス新しインスタンス初期化します。
オーバーロードの一覧オーバーロードの一覧

名前 説明
MutexAccessRule (IdentityReference, MutexRights, AccessControlType) 規則適用するユーザーまたはグループアクセス権、および指定したアクセス権許可するかどうか指定してMutexAccessRule クラス新しインスタンス初期化します。
MutexAccessRule (String, MutexRights, AccessControlType) 規則適用するユーザーまたはグループの名前、アクセス権、および指定したアクセス権許可するかどうか指定してMutexAccessRule クラス新しインスタンス初期化します。
参照参照

関連項目

MutexAccessRule クラス
MutexAccessRule メンバ
System.Security.AccessControl 名前空間

MutexAccessRule コンストラクタ (String, MutexRights, AccessControlType)

メモ : このコンストラクタは、.NET Framework version 2.0新しく追加されたものです。

規則適用するユーザーまたはグループの名前、アクセス権、および指定したアクセス権許可するかどうか指定して、MutexAccessRule クラス新しインスタンス初期化します。

名前空間: System.Security.AccessControl
アセンブリ: mscorlib (mscorlib.dll 内)
構文構文

Public Sub New ( _
    identity As String, _
    eventRights As MutexRights, _
    type As AccessControlType _
)
Dim identity As String
Dim eventRights As MutexRights
Dim type As AccessControlType

Dim instance As New MutexAccessRule(identity,
 eventRights, type)
public MutexAccessRule (
    string identity,
    MutexRights eventRights,
    AccessControlType type
)
public:
MutexAccessRule (
    String^ identity, 
    MutexRights eventRights, 
    AccessControlType type
)
public MutexAccessRule (
    String identity, 
    MutexRights eventRights, 
    AccessControlType type
)
public function MutexAccessRule (
    identity : String, 
    eventRights : MutexRights, 
    type : AccessControlType
)

パラメータ

identity

規則適用対象となるユーザー名またはグループ名。

eventRights

許可されアクセス権または拒否されアクセス権指定する MutexRights 値のビットごとの組み合わせ

type

アクセス権許可されているかどうか指定する AccessControlType 値の 1 つ

例外例外
例外種類条件

ArgumentOutOfRangeException

eventRights無効な値が指定されています。

または

type無効な値が指定されています。

ArgumentNullException

eventRights が 0 です。

ArgumentException

identitynull 参照 (Visual Basic では Nothing) です。

または

identity は、長さ 0 の文字列です。

または

identity512 文字超えてます。

解説解説

(WaitOne、WaitAny、WaitAll のいずれかメソッド呼び出して) Mutex待機するには、ユーザーに MutexRights.Synchronize アクセス権が必要です。ReleaseMutex メソッド呼び出してミューテックス解放するには、ユーザーに MutexRights.Modify アクセス権が必要です。

このコンストラクタは、identity を System.Security.Principal.NTAccount(String) コンストラクタ渡し新しく作成した NTAccount オブジェクトを MutexAccessRule(IdentityReference,MutexRights,AccessControlType) コンストラクタ渡してNTAccount オブジェクト作成するのと同じ働きをします。

使用例使用例

このコンストラクタ使用して MutexAccessRule オブジェクト作成するコード例次に示します。この例では、MutexSecurity オブジェクト作成し現在のユーザーに関する各種権限許可または拒否する規則追加して、それらの規則ペア表示しますまた、この例では、現在のユーザー新し権限許可し結果表示します新し権限は、既存Allow 規則マージされることが示されています。

メモメモ

この例では、セキュリティ オブジェクトMutex オブジェクト割り当てられません。セキュリティ オブジェクト割り当て例については、Mutex.GetAccessControl および Mutex.SetAccessControl のトピック参照してください

Imports System
Imports System.Threading
Imports System.Security.AccessControl
Imports System.Security.Principal

Public Class Example

    Public Shared Sub Main()

        ' Create a string representing the current user.
        Dim user As String
 = Environment.UserDomainName _ 
            & "\" & Environment.UserName

        ' Create a security object that grants no access.
        Dim mSec As New
 MutexSecurity()

        ' Add a rule that grants the current user the 
        ' right to enter or release the mutex.
        Dim rule As New
 MutexAccessRule(user, _
            MutexRights.Synchronize _
            Or MutexRights.Modify, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ' Add a rule that denies the current user the 
        ' right to change permissions on the mutex.
        rule = New MutexAccessRule(user, _
            MutexRights.ChangePermissions, _
            AccessControlType.Deny)
        mSec.AddAccessRule(rule)

        ' Display the rules in the security object.
        ShowSecurity(mSec)

        ' Add a rule that allows the current user the 
        ' right to read permissions on the mutex. This rule
        ' is merged with the existing Allow rule.
        rule = New MutexAccessRule(user, _
            MutexRights.ReadPermissions, _
            AccessControlType.Allow)
        mSec.AddAccessRule(rule)

        ShowSecurity(mSec)

    End Sub 

    Private Shared Sub ShowSecurity(ByVal
 security As MutexSecurity)
        Console.WriteLine(vbCrLf & "Current access rules:"
 & vbCrLf)

        For Each ar As MutexAccessRule
 In _
            security.GetAccessRules(True, True,
 GetType(NTAccount))

            Console.WriteLine("        User: {0}",
 ar.IdentityReference)
            Console.WriteLine("        Type: {0}",
 ar.AccessControlType)
            Console.WriteLine("      Rights: {0}",
 ar.MutexRights)
            Console.WriteLine()
        Next

    End Sub
End Class 

'This code example produces output similar to following:
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Deny
'      Rights: ChangePermissions
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: Modify, Synchronize
'
'
'Current access rules:
'
'        User: TestDomain\TestUser
'        Type: Deny
'      Rights: ChangePermissions
'
'        User: TestDomain\TestUser
'        Type: Allow
'      Rights: Modify, ReadPermissions, Synchronize
using System;
using System.Threading;
using System.Security.AccessControl;
using System.Security.Principal;

public class Example
{
    public static void Main()
    {
        // Create a string representing the current user.
        string user = Environment.UserDomainName + "\\"
 + 
            Environment.UserName;

        // Create a security object that grants no access.
        MutexSecurity mSec = new MutexSecurity();

        // Add a rule that grants the current user the 
        // right to enter or release the mutex.
        MutexAccessRule rule = new MutexAccessRule(user, 
            MutexRights.Synchronize | MutexRights.Modify, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        // Add a rule that denies the current user the 
        // right to change permissions on the mutex.
        rule = new MutexAccessRule(user, 
            MutexRights.ChangePermissions, 
            AccessControlType.Deny);
        mSec.AddAccessRule(rule);

        // Display the rules in the security object.
        ShowSecurity(mSec);

        // Add a rule that allows the current user the 
        // right to read permissions on the mutex. This rule
        // is merged with the existing Allow rule.
        rule = new MutexAccessRule(user, 
            MutexRights.ReadPermissions, 
            AccessControlType.Allow);
        mSec.AddAccessRule(rule);

        ShowSecurity(mSec);
    }

    private static void
 ShowSecurity(MutexSecurity security)
    {
        Console.WriteLine("\r\nCurrent access rules:\r\n");

        foreach(MutexAccessRule ar in 
            security.GetAccessRules(true, true,
 typeof(NTAccount)))
        {
            Console.WriteLine("        User: {0}", ar.IdentityReference);
            Console.WriteLine("        Type: {0}", ar.AccessControlType);
            Console.WriteLine("      Rights: {0}", ar.MutexRights);
            Console.WriteLine();
        }
    }
}

/*This code example produces output similar to following:

Current access rules:

        User: TestDomain\TestUser
        Type: Deny
      Rights: ChangePermissions

        User: TestDomain\TestUser
        Type: Allow
      Rights: Modify, Synchronize


Current access rules:

        User: TestDomain\TestUser
        Type: Deny
      Rights: ChangePermissions

        User: TestDomain\TestUser
        Type: Allow
      Rights: Modify, ReadPermissions, Synchronize
 */
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
MutexAccessRule クラス
MutexAccessRule メンバ
System.Security.AccessControl 名前空間



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「MutexAccessRule コンストラクタ」の関連用語

MutexAccessRule コンストラクタのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



MutexAccessRule コンストラクタのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2025 Microsoft.All rights reserved.

©2025 GRAS Group, Inc.RSS