SuppressUnmanagedCodeSecurityAttribute クラス
アセンブリ: mscorlib (mscorlib.dll 内)

<ComVisibleAttribute(True)> _ <AttributeUsageAttribute(AttributeTargets.Class Or AttributeTargets.Method Or AttributeTargets.Interface Or AttributeTargets.Delegate, AllowMultiple:=True, Inherited:=False)> _ Public NotInheritable Class SuppressUnmanagedCodeSecurityAttribute Inherits Attribute
[ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets.Class|AttributeTargets.Method|AttributeTargets.Interface|AttributeTargets.Delegate, AllowMultiple=true, Inherited=false)] public sealed class SuppressUnmanagedCodeSecurityAttribute : Attribute
[ComVisibleAttribute(true)] [AttributeUsageAttribute(AttributeTargets::Class|AttributeTargets::Method|AttributeTargets::Interface|AttributeTargets::Delegate, AllowMultiple=true, Inherited=false)] public ref class SuppressUnmanagedCodeSecurityAttribute sealed : public Attribute

![]() |
---|
この属性は、ランタイム セキュリティ チェックの効率を低下させずに、ネイティブ コードを読み込む必要のあるメソッドに適用できます。アンマネージ コードを呼び出すときに実行されたスタック ウォークが実行時に省かれ、大幅に効率が向上します。クラス内でこの属性を使用すると、格納されているすべてのメソッドに適用されます。
一般的に、マネージ コードがアンマネージ コードを呼び出す (PInvoke または COM 相互運用機能を使用してネイティブ コードを呼び出す) 場合は、アンマネージ コードを呼び出すために必要なアクセス許可がすべての呼び出し元に対して与えられるようにするために、UnmanagedCode アクセス許可が要求されます。この明示的な属性を適用することによって、開発者は実行時に要求が行われないようにすることができます。開発者は、アンマネージ コードへの移行が他の手段によって十分に保護されていることを確認する必要があります。UnmanagedCode アクセス許可の要求は、リンク時にまだ発生します。たとえば、関数 A が関数 B を呼び出し、関数 B が SuppressUnmanagedCodeSecurityAttribute でマークされている場合は、関数 A にアンマネージ コードのアクセス許可が与えられているかどうかがジャスト イン タイム コンパイル時にチェックされますが、その後の実行時にはチェックされません。
この属性は、PInvoke メソッド (または PInvoke メソッドを格納しているクラス)、または相互運用呼び出しに使用するインターフェイスの定義に適用する場合にだけ有効です。その他のすべてのコンテキストでは無視されます。
この属性は、アンマネージ コードを通じてシステム リソースへアクセスできるようにするクラスを実装するときに役立ちます。アンマネージ コードへのアクセス許可がないコードは、この属性を持つクラスを呼び出して、アンマネージ コードにアクセスできます。このようにアンマネージ コードにアクセスする場合、この属性を持つクラスのライタによってクラスがセキュリティ設定されるようにプログラムされている場合に限り、安全が確保されます。それ以外の場合は、この属性は危険であり、この属性を使用するコードが不正に使用される可能性があります。
この属性は宣言セキュリティ属性ではありませんが、標準属性です。SecurityAttribute ではなく Attribute から派生します。

System.Attribute
System.Security.SuppressUnmanagedCodeSecurityAttribute


Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SuppressUnmanagedCodeSecurityAttribute コンストラクタ
アセンブリ: mscorlib (mscorlib.dll 内)



Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


SuppressUnmanagedCodeSecurityAttribute クラス
SuppressUnmanagedCodeSecurityAttribute メンバ
System.Security 名前空間
SuppressUnmanagedCodeSecurityAttribute プロパティ


関連項目
SuppressUnmanagedCodeSecurityAttribute クラスSystem.Security 名前空間
その他の技術情報
Extending Metadata Using Attributesセキュリティの最適化
SuppressUnmanagedCodeSecurityAttribute メソッド

名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 ( Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 ( Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 ( Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 ( Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 ( Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 ( Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 ( Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 ( Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 ( Object から継承されます。) |

関連項目
SuppressUnmanagedCodeSecurityAttribute クラスSystem.Security 名前空間
その他の技術情報
Extending Metadata Using Attributesセキュリティの最適化
SuppressUnmanagedCodeSecurityAttribute メンバ
スタック ウォークを使用せずにマネージ コードがアンマネージ コードを呼び出すことができるようにします。このクラスは継承できません。
SuppressUnmanagedCodeSecurityAttribute データ型で公開されるメンバを以下の表に示します。

名前 | 説明 | |
---|---|---|
![]() | SuppressUnmanagedCodeSecurityAttribute | SuppressUnmanagedCodeSecurityAttribute クラスの新しいインスタンスを初期化します。 |


名前 | 説明 | |
---|---|---|
![]() | Equals | オーバーロードされます。 ( Attribute から継承されます。) |
![]() | GetCustomAttribute | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用された指定した型のカスタム属性を取得します。 (Attribute から継承されます。) |
![]() | GetCustomAttributes | オーバーロードされます。 アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されたカスタム属性の配列を取得します。 (Attribute から継承されます。) |
![]() | GetHashCode | このインスタンスのハッシュ コードを返します。 (Attribute から継承されます。) |
![]() | GetType | 現在のインスタンスの Type を取得します。 (Object から継承されます。) |
![]() | IsDefaultAttribute | 派生クラス内でオーバーライドされたときに、このインスタンスの値が派生クラスの既定値かどうかを示します。 (Attribute から継承されます。) |
![]() | IsDefined | オーバーロードされます。 指定した型のカスタム属性が、アセンブリ、モジュール、型のメンバ、またはメソッド パラメータに適用されているかどうかを判断します。 (Attribute から継承されます。) |
![]() | Match | 派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。 (Attribute から継承されます。) |
![]() | ReferenceEquals | 指定した複数の Object インスタンスが同一かどうかを判断します。 (Object から継承されます。) |
![]() | ToString | 現在の Object を表す String を返します。 (Object から継承されます。) |

関連項目
SuppressUnmanagedCodeSecurityAttribute クラスSystem.Security 名前空間
その他の技術情報
Extending Metadata Using Attributesセキュリティの最適化
Weblioに収録されているすべての辞書からSuppressUnmanagedCodeSecurityAttributeを検索する場合は、下記のリンクをクリックしてください。

- SuppressUnmanagedCodeSecurityAttributeのページへのリンク