次の方法で共有


IStackWalk.PermitOnly メソッド

コール スタック内の上位にあるコードに、他のリソースへのアクセス許可が与えられている場合でも、現在のオブジェクトを除き、呼び出しコードを通過するすべてのオブジェクトに対するすべての Demand を失敗させます。

Sub PermitOnly()
[C#]
void PermitOnly();
[C++]
void PermitOnly();
[JScript]
function PermitOnly();

解説

PermitOnly は、通常は成功するスタック ウォークが失敗する原因となる点で、 Deny に似ています。両者の相違点は、 Deny はスタック ウォークが失敗する原因となるアクセス許可を指定するのに対し、 PermitOnly はスタック ウォークが失敗する原因とはならないアクセス許可だけを指定することです。このメソッドを呼び出すと、コードを使用してアクセスできるリソースが、指定されたリソースだけになります。

与えられていないアクセス許可を要求しても失敗するため、そのようなアクセス許可に対して PermitOnly を呼び出しても無視されます。しかし、コール スタック内の下位にあるコードがそのアクセス許可に対して Demand を呼び出すと、 PermitOnly の呼び出しを試行するコードにスタック ウォークが達したときに、 SecurityException がスローされます。これは、コードがアクセス許可に対して PermitOnly を呼び出そうとしても、 PermitOnly を呼び出したコードにそのアクセス許可が与えられていないために発生しますコール スタック内で上位にあるメソッドが下位にあるメソッドを呼び出すことができるように、通常コール スタックは、下方向に影響力を持つものとして表現されます。

必要条件

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

参照

IStackWalk インターフェイス | IStackWalk メンバ | System.Security 名前空間 | PermitOnly | セキュリティ チェックのオーバーライド