IStackWalk.Demand メソッド


コール スタック内のすべての呼び出し元に、現在のアクセス許可オブジェクトによって指定されているアクセス許可が与えられているかどうかを実行時に判断します。Determines at run time whether all callers in the call stack have been granted the permission specified by the current permission object.

 void Demand();
public void Demand ();
abstract member Demand : unit -> unit
Public Sub Demand ()


コール スタック内の上位にある呼び出し元に、現在のアクセス許可オブジェクトによって指定されているアクセス許可がありません。A caller higher in the call stack does not have the permission specified by the current permission object.

または-or- コール スタック内の呼び出し元が、現在のアクセス許可オブジェクトに対して Deny() を呼び出しました。A caller in the call stack has called Deny() on the current permission object.


このメソッドは、通常、呼び出し元にリソースへのアクセス許可があることを保証するために、安全なライブラリによって使用されます。This method is typically used by secure libraries to ensure that callers have permission to access a resource. たとえば、セキュリティで保護されたクラスライブラリ内のDemandファイルクラスはFileIOPermission 、呼び出し元によって要求されたファイル操作を実行する前に、必要なを呼び出します。For example, a file class in a secure class library calls Demand for the necessary FileIOPermission before performing a file operation requested by the caller.

このメソッドを呼び出すコードのアクセス許可は検証されません。このチェックは、そのコードの直前の呼び出し元から開始され、スタックを進めます。The permissions of the code that calls this method are not examined; the check begins from the immediate caller of that code and proceeds up the stack. DemandSecurityExceptionが発生しなかった場合にのみ成功します。Demand succeeds only if no SecurityException is raised.