SafeHandle.DangerousGetHandle SafeHandle.DangerousGetHandle SafeHandle.DangerousGetHandle SafeHandle.DangerousGetHandle Method

定義

handle フィールドの値を返します。Returns the value of the handle field.

public:
 IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr

戻り値

handle フィールドの値を表す IntPtrAn IntPtr representing the value of the handle field. ハンドルが SetHandleAsInvalid() で無効としてマークされている場合にも、このメソッドは元のハンドル値を返すため、返される値が古い値である可能性があります。If the handle has been marked invalid with SetHandleAsInvalid(), this method still returns the original handle value, which can be a stale value.

注釈

インスタンスから実際のハンドル値を取得するこのメソッドを使用することができます、SafeHandleクラスを派生します。You can use this method to retrieve the actual handle value from an instance of the SafeHandle derived class. このメソッドは、必要な下位互換性、.NET Framework のプロパティの多くを返すためIntPtr型を処理します。This method is needed for backwards compatibility because many properties in the .NET Framework return IntPtr handle types. IntPtr ハンドル型は、プラットフォーム固有の型のポインターまたはハンドルを表すために使用します。IntPtr handle types are platform-specific types used to represent a pointer or a handle.

注意事項

使用して、DangerousGetHandleメソッドはセキュリティ上のリスクをもたらすことができますので、ハンドルが設定されている場合に無効として、 SetHandleAsInvalidDangerousGetHandleも古い可能性がある、元のハンドル値を返します。Using the DangerousGetHandle method can pose security risks because, if the handle has been marked as invalid with SetHandleAsInvalid, DangerousGetHandle still returns the original, potentially stale handle value. 返されたハンドルは、任意の時点でリサイクルされることもできます。The returned handle can also be recycled at any point. せいぜい、ハンドルが突然動作を停止した可能性がありますこれを意味します。At best, this means the handle might suddenly stop working. 最悪の場合、ハンドルまたはハンドルを表すリソースは、信頼されていないコードに公開されるが、これで、再利用または返されるハンドル リサイクル セキュリティ攻撃につながることができます。At worst, if the handle or the resource that the handle represents is exposed to untrusted code, this can lead to a recycling security attack on the reused or returned handle. など、信頼されていない呼び出し元はハンドルで、返されるデータのクエリを実行し、まったく関係のないリソースの情報を受信できます。For example, an untrusted caller can query data on the handle just returned and receive information for an entirely unrelated resource. 参照してください、DangerousAddRefDangerousReleaseメソッド使用の詳細について、 DangerousGetHandle methodsafely します。See the DangerousAddRef and the DangerousRelease methods for more information about using the DangerousGetHandle methodsafely.

セキュリティ

SecurityPermission
アンマネージ コードを呼び出すアクセス許可。for permission to call unmanaged code. セキュリティ アクション:LinkDemandします。Security action: LinkDemand. 関連付けられた列挙体。 UnmanagedCodeAssociated enumeration: UnmanagedCode

適用対象