次の方法で共有


MessageQueue.SetPermissions メソッド (MessageQueueAccessControlEntry)

アクセス制御エントリの内容に基づいてアクセス権をキューに割り当てます。

Overloads Public Sub SetPermissions( _
   ByVal ace As MessageQueueAccessControlEntry _)
[C#]
public void SetPermissions(MessageQueueAccessControlEntryace);
[C++]
public: void SetPermissions(MessageQueueAccessControlEntry* ace);
[JScript]
public function SetPermissions(
   ace : MessageQueueAccessControlEntry);

パラメータ

例外

例外の種類 条件
MessageQueueException メッセージ キューの API にアクセスしたときにエラーが発生しました。

解説

このオーバーロードを使用して、アクセス権の付与、拒否、または取り消しを行います。アクセス制御エントリを使用して、トラスティとアクセス権の情報を指定します。

ace パラメータを構築するときに、トラスティとしてユーザー、ユーザー グループ、またはコンピュータをそれぞれ指定できます。トラスティが個別のユーザーの場合、書式 DOMAIN\ user を使用します。トラスティがローカル コンピュータの場合は、"." と指定します。

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

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

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

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

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

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

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

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

必要条件

プラットフォーム: 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 | MessageQueueAccessControlEntry