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.Initialize 才能使用的任何 實例 SafeBuffer。 若要避免在靜態變數中儲存對象的實例 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 類別所使用的 Unmanaged 資源,指定是否要執行一般處置作業。

(繼承來源 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>)
已淘汰.

將值型別從唯讀範圍寫入記憶體位置。

適用於