SafeBuffer クラス

定義

警告

この API は現在使われていません。

読み取り用および書き込み用に使用できる管理されたメモリ バッファーを提供します。Provides a controlled memory buffer that can be used for reading and writing. 管理されたバッファーの外部にあるメモリにアクセスしようとした場合 (アンダーランおよびオーバーラン)、例外が発生します。Attempts to access memory outside the controlled buffer (underruns and overruns) raise exceptions.

public ref class SafeBuffer abstract : Microsoft::Win32::SafeHandles::SafeHandleZeroOrMinusOneIsInvalid
[System.Security.SecurityCritical]
[System.Obsolete("SafeBuffer may be unavailable in future releases.")]
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
type SafeBuffer = class
    inherit SafeHandleZeroOrMinusOneIsInvalid
    interface IDisposable
Public MustInherit Class SafeBuffer
Inherits SafeHandleZeroOrMinusOneIsInvalid
継承
派生
属性
実装

注釈

SafeBufferのインスタンスを使用する前に、SafeBuffer.Initialize メソッドを呼び出す必要があります。You must call the SafeBuffer.Initialize method before you use any instance of SafeBuffer. SafeBuffer オブジェクトのインスタンスを静的変数に格納するときの競合を回避するには、次のいずれかの方法を使用する必要があります。To avoid races when you store an instance of a SafeBuffer object in a static variable, you should use one of the following approaches:

注意

静的クラスコンストラクターでの代入は、暗黙的にロックされます。Assignments in a static class constructor are implicitly locked.

コンストラクター

SafeBuffer(Boolean)

SafeBuffer クラスの新しいインスタンスを作成し、バッファー ハンドルを安全に解放するかどうかを指定します。Creates a new instance of the SafeBuffer class, and specifies whether the buffer handle is to be reliably released.

フィールド

handle

ラップするハンドルを指定します。Specifies the handle to be wrapped.

(継承元 SafeHandle)

プロパティ

ByteLength

バッファーのサイズを取得します (バイト単位)。Gets the size of the buffer, in bytes.

IsClosed

ハンドルが閉じているかどうかを示す値を取得します。Gets a value indicating whether the handle is closed.

(継承元 SafeHandle)
IsInvalid

メソッド

AcquirePointer(Byte*)

SafeBuffer オブジェクトからメモリ ブロックのポインターを取得します。Obtains a pointer from a SafeBuffer object for a block of memory.

Close()

リソースを解放するためのハンドルをマークします。Marks the handle for releasing and freeing resources.

(継承元 SafeHandle)
DangerousAddRef(Boolean)

SafeHandle インスタンスの参照カウンターを手動でインクリメントします。Manually increments the reference counter on SafeHandle instances.

(継承元 SafeHandle)
DangerousGetHandle()

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

(継承元 SafeHandle)
DangerousRelease()

SafeHandle インスタンスの参照カウンターを手動でデクリメントします。Manually decrements the reference counter on a SafeHandle instance.

(継承元 SafeHandle)
Dispose()

SafeHandle クラスによって使用されているすべてのリソースを解放します。Releases all resources used by the SafeHandle class.

(継承元 SafeHandle)
Dispose(Boolean)

通常の破棄操作を実行するかどうかを指定して、SafeHandle クラスによって使用されているアンマネージ リソースを解放します。Releases the unmanaged resources used by the SafeHandle class specifying whether to perform a normal dispose operation.

(継承元 SafeHandle)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判定します。Determines whether the specified object is equal to the current object.

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)
Initialize(UInt32, UInt32)

指定された要素数および要素サイズを使用して、メモリ バッファーの割り当てサイズを指定します。Specifies the allocation size of the memory buffer by using the specified number of elements and element size. このメソッドは、SafeBuffer インスタンスを使用する前に呼び出す必要があります。You must call this method before you use the SafeBuffer instance.

Initialize(UInt64)

メモリ領域の割り当てサイズを定義します (バイト単位)。Defines the allocation size of the memory region in bytes. このメソッドは、SafeBuffer インスタンスを使用する前に呼び出す必要があります。You must call this method before you use the SafeBuffer instance.

Initialize<T>(UInt32)

値型の数を指定して、メモリ領域の割り当てサイズを定義します。Defines the allocation size of the memory region by specifying the number of value types. このメソッドは、SafeBuffer インスタンスを使用する前に呼び出す必要があります。You must call this method before you use the SafeBuffer instance.

MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)
Read<T>(UInt64)

メモリの指定されたオフセット位置の値型を読み取ります。Reads a value type from memory at the specified offset.

ReadArray<T>(UInt64, T[], Int32, Int32)

メモリの指定したオフセットから指定した数の値型を読み取り、指定したインデックスから始まる配列にそれらを書き込みます。Reads the specified number of value types from memory starting at the offset, and writes them into an array starting at the index.

ReleaseHandle()

派生クラスでオーバーライドされると、ハンドルを解放するために必要なコードを実行します。When overridden in a derived class, executes the code required to free the handle.

(継承元 SafeHandle)
ReleasePointer()

AcquirePointer(Byte*) メソッドによって取得されたポインターを解放します。Releases a pointer that was obtained by the AcquirePointer(Byte*) method.

SetHandle(IntPtr)

ハンドルを指定した既存のハンドルに設定します。Sets the handle to the specified pre-existing handle.

(継承元 SafeHandle)
SetHandleAsInvalid()

今後は使用しないものとしてハンドルをマークします。Marks a handle as no longer used.

(継承元 SafeHandle)
ToString()

現在のオブジェクトを表す string を返します。Returns a string that represents the current object.

(継承元 Object)
Write<T>(UInt64, T)

値型をメモリの指定した位置に書き込みます。Writes a value type to memory at the given location.

WriteArray<T>(UInt64, T[], Int32, Int32)

入力配列内の指定した位置からバイトを読み取ることによって、指定した数の値型をメモリ位置に書き込みます。Writes the specified number of value types to a memory location by reading bytes starting from the specified location in the input array.

セキュリティ

SecurityCriticalAttribute
直前の呼び出し元に完全信頼が必要です。requires full trust for the immediate caller. このメンバーは、部分的に信頼されているコードまたは透過的なコードでは使用できません。This member cannot be used by partially trusted or transparent code.

適用対象