SafeBuffer SafeBuffer SafeBuffer SafeBuffer Class

定義

警告

この 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.Initializeメソッドの任意のインスタンスを使用する前にSafeBufferします。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(Boolean) SafeBuffer(Boolean) SafeBuffer(Boolean)

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

プロパティ

ByteLength ByteLength ByteLength ByteLength

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

IsClosed IsClosed IsClosed IsClosed

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

(Inherited from SafeHandle)
IsInvalid IsInvalid IsInvalid IsInvalid

メソッド

AcquirePointer(Byte*) AcquirePointer(Byte*) AcquirePointer(Byte*) AcquirePointer(Byte*)

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

Close() Close() Close() Close()

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

(Inherited from SafeHandle)
DangerousAddRef(Boolean) DangerousAddRef(Boolean) DangerousAddRef(Boolean) DangerousAddRef(Boolean)

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

(Inherited from SafeHandle)
DangerousGetHandle() DangerousGetHandle() DangerousGetHandle() DangerousGetHandle()

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

(Inherited from SafeHandle)
DangerousRelease() DangerousRelease() DangerousRelease() DangerousRelease()

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

(Inherited from SafeHandle)
Dispose() Dispose() Dispose() Dispose()

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

(Inherited from SafeHandle)
Dispose(Boolean) Dispose(Boolean) Dispose(Boolean) Dispose(Boolean)

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

(Inherited from SafeHandle)
Equals(Object) Equals(Object) Equals(Object) Equals(Object)

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

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

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

(Inherited from Object)
GetType() GetType() GetType() GetType()

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

(Inherited from Object)
Initialize(UInt32, UInt32) Initialize(UInt32, UInt32) Initialize(UInt32, UInt32) 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) Initialize(UInt64) Initialize(UInt64) 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) Initialize<T>(UInt32) Initialize<T>(UInt32) 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() MemberwiseClone() MemberwiseClone() MemberwiseClone()

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

(Inherited from Object)
Read<T>(UInt64) Read<T>(UInt64) Read<T>(UInt64) Read<T>(UInt64)

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

ReadArray<T>(UInt64, T[], Int32, Int32) ReadArray<T>(UInt64, T[], Int32, Int32) ReadArray<T>(UInt64, T[], Int32, Int32) 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() ReleaseHandle() ReleaseHandle() ReleaseHandle()

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

(Inherited from SafeHandle)
ReleasePointer() ReleasePointer() ReleasePointer() ReleasePointer()

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

SetHandle(IntPtr) SetHandle(IntPtr) SetHandle(IntPtr) SetHandle(IntPtr)

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

(Inherited from SafeHandle)
SetHandleAsInvalid() SetHandleAsInvalid() SetHandleAsInvalid() SetHandleAsInvalid()

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

(Inherited from SafeHandle)
ToString() ToString() ToString() ToString()

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

(Inherited from Object)
Write<T>(UInt64, T) Write<T>(UInt64, T) Write<T>(UInt64, T) Write<T>(UInt64, T)

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

WriteArray<T>(UInt64, T[], Int32, Int32) WriteArray<T>(UInt64, T[], Int32, Int32) WriteArray<T>(UInt64, T[], Int32, Int32) 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.

フィールド

handle handle handle handle

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

(Inherited from SafeHandle)

セキュリティ

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

適用対象