SafeBuffer クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
注意事項
SafeBuffer may be unavailable in future releases.
読み取り用および書き込み用に使用できる管理されたメモリ バッファーを提供します。 管理されたバッファーの外部にあるメモリにアクセスしようとした場合 (アンダーランおよびオーバーラン)、例外が発生します。
public ref class SafeBuffer abstract : System::Runtime::InteropServices::SafeHandle
public ref class SafeBuffer abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
public abstract class SafeBuffer : System.Runtime.InteropServices.SafeHandle
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
[System.Obsolete("SafeBuffer may be unavailable in future releases.")]
public abstract class SafeBuffer : System.Runtime.InteropServices.SafeHandle
[<System.Security.SecurityCritical>]
type SafeBuffer = class
inherit SafeHandle
type SafeBuffer = class
inherit SafeHandleZeroOrMinusOneIsInvalid
[<System.Security.SecurityCritical>]
type SafeBuffer = class
inherit SafeHandleZeroOrMinusOneIsInvalid
[<System.Security.SecurityCritical>]
[<System.Obsolete("SafeBuffer may be unavailable in future releases.")>]
type SafeBuffer = class
inherit SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandleZeroOrMinusOneIsInvalid
- 継承
- 継承
- 継承
- 派生
- 属性
注釈
のインスタンスSafeBufferを使用するSafeBuffer.Initialize前に、 メソッドを呼び出す必要があります。 オブジェクトの SafeBuffer インスタンスを静的変数に格納するときに競合を回避するには、次のいずれかの方法を使用する必要があります。
を発行するときにロックを作成します SafeBuffer。
ローカル変数を作成し、 をSafeBuffer初期化してから、 メソッドを使用して、 を静的変数にInterlocked.CompareExchange割り当てますSafeBuffer。
注意
静的クラス コンストラクターの割り当ては暗黙的にロックされます。
コンストラクター
SafeBuffer(Boolean) |
古い.
SafeBuffer クラスの新しいインスタンスを作成し、バッファー ハンドルを安全に解放するかどうかを指定します。 |
フィールド
handle |
古い.
ラップするハンドルを指定します。 (継承元 SafeHandle) |
プロパティ
ByteLength |
古い.
バッファーのサイズを取得します (バイト単位)。 |
IsClosed |
古い.
ハンドルが閉じているかどうかを示す値を取得します。 (継承元 SafeHandle) |
IsInvalid |
古い.
ハンドルが無効かどうかを示す値を取得します。 |
IsInvalid |
古い.
ハンドルが無効かどうかを示す値を取得します。 (継承元 SafeHandleZeroOrMinusOneIsInvalid) |
メソッド
AcquirePointer(Byte*) |
古い.
SafeBuffer オブジェクトからメモリ ブロックのポインターを取得します。 |
Close() |
古い.
リソースを解放するためのハンドルをマークします。 (継承元 SafeHandle) |
DangerousAddRef(Boolean) |
古い.
SafeHandle インスタンスの参照カウンターを手動でインクリメントします。 (継承元 SafeHandle) |
DangerousGetHandle() |
古い.
handle フィールドの値を戻します。 (継承元 SafeHandle) |
DangerousRelease() |
古い.
SafeHandle インスタンスの参照カウンターを手動でデクリメントします。 (継承元 SafeHandle) |
Dispose() |
古い.
SafeHandle クラスによって使用されているすべてのリソースを解放します。 (継承元 SafeHandle) |
Dispose(Boolean) |
古い.
通常の破棄操作を実行するかどうかを指定して、SafeHandle クラスによって使用されているアンマネージ リソースを解放します。 (継承元 SafeHandle) |
Equals(Object) |
古い.
指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。 (継承元 Object) |
GetHashCode() |
古い.
既定のハッシュ関数として機能します。 (継承元 Object) |
GetType() |
古い.
現在のインスタンスの Type を取得します。 (継承元 Object) |
Initialize(UInt32, UInt32) |
古い.
指定された要素数および要素サイズを使用して、メモリ バッファーの割り当てサイズを指定します。 このメソッドは、SafeBuffer インスタンスを使用する前に呼び出す必要があります。 |
Initialize(UInt64) |
古い.
メモリ領域の割り当てサイズを定義します (バイト単位)。 このメソッドは、SafeBuffer インスタンスを使用する前に呼び出す必要があります。 |
Initialize<T>(UInt32) |
古い.
値型の数を指定して、メモリ領域の割り当てサイズを定義します。 このメソッドは、SafeBuffer インスタンスを使用する前に呼び出す必要があります。 |
MemberwiseClone() |
古い.
現在の Object の簡易コピーを作成します。 (継承元 Object) |
Read<T>(UInt64) |
古い.
メモリの指定されたオフセット位置の値型を読み取ります。 |
ReadArray<T>(UInt64, T[], Int32, Int32) |
古い.
メモリの指定したオフセットから指定した数の値型を読み取り、指定したインデックスから始まる配列にそれらを書き込みます。 |
ReadSpan<T>(UInt64, Span<T>) |
古い.
オフセットからメモリから値型を読み取り、スパンに書き込みます。 読み取られる値型の数は、スパンの長さによって決まります。 |
ReleaseHandle() |
古い.
派生クラスでオーバーライドされると、ハンドルを解放するために必要なコードを実行します。 (継承元 SafeHandle) |
ReleasePointer() |
古い.
AcquirePointer(Byte*) メソッドによって取得されたポインターを解放します。 |
SetHandle(IntPtr) |
古い.
ハンドルを指定した既存のハンドルに設定します。 (継承元 SafeHandle) |
SetHandleAsInvalid() |
古い.
今後は使用しないものとしてハンドルをマークします。 (継承元 SafeHandle) |
ToString() |
古い.
現在のオブジェクトを表す文字列を返します。 (継承元 Object) |
Write<T>(UInt64, T) |
古い.
値型をメモリの指定した位置に書き込みます。 |
WriteArray<T>(UInt64, T[], Int32, Int32) |
古い.
入力配列内の指定した位置からバイトを読み取ることによって、指定した数の値型をメモリ位置に書き込みます。 |
WriteSpan<T>(UInt64, ReadOnlySpan<T>) |
古い.
値型を読み取り専用スパンからメモリの場所に書き込みます。 |
適用対象
.NET