次の方法で共有


SafeBuffer クラス

定義

注意事項

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を使用するSafeBuffer.Initialize前に、 メソッドを呼び出す必要があります。 オブジェクトの 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>)
古い.

値型を読み取り専用スパンからメモリの場所に書き込みます。

適用対象