SafeHandle.DangerousGetHandle メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
handle フィールドの値を戻します。
public:
IntPtr DangerousGetHandle();
public IntPtr DangerousGetHandle ();
member this.DangerousGetHandle : unit -> nativeint
Public Function DangerousGetHandle () As IntPtr
戻り値
nativeint
IntPtr フィールドの値を表す handle。 ハンドルが SetHandleAsInvalid() で無効としてマークされている場合にも、このメソッドは元のハンドル値を返すため、返される値が古い値である可能性があります。
注釈
このメソッドを使用して、派生クラスのインスタンスから実際のハンドル値を SafeHandle 取得できます。 このメソッドは、.NET Framework の多くのプロパティがハンドル型を返 IntPtr
すので、下位互換性のために必要です。
IntPtr
ハンドル型は、ポインターまたはハンドルを表すために使用されるプラットフォーム固有の型です。
注意事項
メソッドをDangerousGetHandle使用すると、ハンドルが で無効SetHandleAsInvalidDangerousGetHandleとしてマークされている場合でも、元の古いハンドル値を返す可能性があるため、セキュリティ上のリスクが発生する可能性があります。 返されたハンドルは、任意の時点でリサイクルすることもできます。 これは、ハンドルが突然動作しなくなる可能性があるということです。 最悪の場合、ハンドルまたはハンドルが表すリソースが信頼されていないコードにさらされている場合、再利用または返されたハンドルに対するリサイクル セキュリティ攻撃が発生する可能性があります。 たとえば、信頼されていない呼び出し元は、返されたハンドルのデータに対してクエリを実行し、まったく関係のないリソースの情報を受け取ることができます。 メソッドを DangerousAddRef 安全に使用する方法の DangerousRelease 詳細については、 メソッドと メソッドを DangerousGetHandle 参照してください。
適用対象
.NET