次の方法で共有


MessageQueue.SetPermissions メソッド (String, MessageQueueAccessRights)

コンピュータ、グループ、またはユーザーに指定したアクセス権を与えます。

Overloads Public Sub SetPermissions( _
   ByVal user As String, _   ByVal rights As MessageQueueAccessRights _)
[C#]
public void SetPermissions(stringuser,MessageQueueAccessRightsrights);
[C++]
public: void SetPermissions(String* user,MessageQueueAccessRightsrights);
[JScript]
public function SetPermissions(
   user : String,rights : MessageQueueAccessRights);

パラメータ

  • user
    キューに対する追加のアクセス権を取得するそれぞれのユーザー、グループ、またはコンピュータ。
  • rights
    メッセージ キューが user に割り当てるキューに対するアクセス権のセットを示す MessageQueueAccessRights

例外

例外の種類 条件
ArgumentException user が null 参照 (Visual Basic では Nothing) です。
MessageQueueException メッセージ キューの API にアクセスしたときにエラーが発生しました。

解説

このオーバーロードを使用して、指定したアクセス権をそれぞれのユーザーに与えます。ユーザーは、任意の有効なトラスティ (個別のユーザー、ユーザー グループ、またはコンピュータ) になることができます。ユーザーが個別のユーザーの場合、 user パラメータには書式 DOMAIN\ user を使用します。ローカル コンピュータを示す場合は、 user パラメータに "." を指定します。

SetPermissions で割り当てたアクセス許可は、既存のリストに権利を追加します。既定では、パブリック キューまたはプライベート キューの作成者にフル コントロールが付与され、ドメイン グループ Everyone にキューのプロパティの取得、アクセス許可の取得、およびキューへの書き込み権限が付与されます。 SetPermissions を呼び出す場合は、ユーザーとアクセス許可の情報が既存リストの末尾に追加されます。

システムは、下記のイベントのいずれかが発生するまで各 AccessControlEntry を順番に調べます。

  • アクセス拒否 AccessControlEntry が、スレッドのアクセス トークンにリストされているトラスティの 1 つについて要求されたアクセス権を明示的に拒否します。
  • スレッドのアクセス トークンにリストされたトラスティの 1 つ以上のアクセス許可 AccessControlEntry 項目が、要求されたすべてのアクセス権を明示的に与えます。
  • すべての AccessControlEntry 項目を確認した結果、要求されたアクセス権の中に明示的に許可されていないアクセス権が少なくとも 1 つあった場合はアクセスが暗黙的に拒否されます。

rights パラメータで指定するキューに対するアクセス権は、次の任意の組み合わせにできます。

  • フル コントロール
  • メッセージの削除
  • メッセージの受信
  • メッセージのピーク
  • ジャーナル メッセージの受信
  • キューのプロパティの取得
  • キューのプロパティの設定
  • アクセス許可の取得
  • アクセス許可の設定
  • キューの所有権の取得
  • メッセージの書き込み

MessageQueueAccessRights 列挙体はビット フラグのセットを表し、 rights パラメータを構築するときにビット処理演算子 OR を使用して組み合わせることができます。

このオーバーロードでは、アクセス許可を与えることができるだけで、取り消しまたは拒否はできません。 Allow 以外の AccessControlEntryType を明示的に与えるには、別のオーバーロードを使用する必要があります。

このメソッドが各種のワークグループ モードで使用できるかどうかを次の表に示します。

ワークグループ モード 使用可否
ローカル コンピュータ はい
ローカル コンピュータ + 直接書式名 はい
リモート コンピュータ いいえ
リモート コンピュータ + 直接書式名 いいえ

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ

.NET Framework セキュリティ:

参照

MessageQueue クラス | MessageQueue メンバ | System.Messaging 名前空間 | MessageQueue.SetPermissions オーバーロードの一覧 | ResetPermissions | Trustee | MessageQueueAccessRights