SafeBuffer Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Upozornění
SafeBuffer may be unavailable in future releases.
Poskytuje řízenou paměťovou paměť, kterou lze použít ke čtení a zápisu. Pokusy o přístup k paměti mimo řízenou vyrovnávací paměť (podtečení a přetečení) vyvolávají výjimky.
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
- Dědičnost
- Dědičnost
- Dědičnost
- Odvozené
- Atributy
Poznámky
Před použitím jakékoli instance je nutné volat metodu SafeBuffer.InitializeSafeBuffer. Abyste se vyhnuli rasám při ukládání instance objektu SafeBuffer ve statické proměnné, měli byste použít jeden z následujících přístupů:
Vytvoření zámku při publikování souboru SafeBuffer.
Vytvořte místní proměnnou, inicializujte SafeBuffera pak přiřaďte SafeBuffer statickou proměnnou, například pomocí Interlocked.CompareExchange metody.
Note
Přiřazení v konstruktoru statické třídy jsou implicitně uzamčena.
Konstruktory
| Name | Description |
|---|---|
| SafeBuffer(Boolean) |
Zastaralé.
Vytvoří novou instanci SafeBuffer třídy a určuje, zda je popisovač vyrovnávací paměti spolehlivě uvolněn. |
Pole
| Name | Description |
|---|---|
| handle |
Zastaralé.
Určuje popisovač, který se má zabalit. (Zděděno od SafeHandle) |
Vlastnosti
| Name | Description |
|---|---|
| ByteLength |
Zastaralé.
Získá velikost vyrovnávací paměti v bajtech. |
| IsClosed |
Zastaralé.
Získá hodnotu označující, zda je úchyt uzavřen. (Zděděno od SafeHandle) |
| IsInvalid |
Zastaralé.
Získá hodnotu, která označuje, zda popisovač je neplatný. |
| IsInvalid |
Zastaralé.
Získá hodnotu, která označuje, zda popisovač je neplatný. (Zděděno od SafeHandleZeroOrMinusOneIsInvalid) |
Metody
| Name | Description |
|---|---|
| AcquirePointer(Byte*) |
Zastaralé.
Získá ukazatel z objektu SafeBuffer pro blok paměti. |
| Close() |
Zastaralé.
Označí popisovač pro uvolnění a uvolnění prostředků. (Zděděno od SafeHandle) |
| DangerousAddRef(Boolean) |
Zastaralé.
Ručně zvýší referenční čítač instancí SafeHandle . (Zděděno od SafeHandle) |
| DangerousGetHandle() |
Zastaralé.
Vrátí hodnotu handle pole. (Zděděno od SafeHandle) |
| DangerousRelease() |
Zastaralé.
Ručně dekrementuje referenční čítač instance SafeHandle . (Zděděno od SafeHandle) |
| Dispose() |
Zastaralé.
Uvolní všechny prostředky používané SafeHandle třídou. (Zděděno od SafeHandle) |
| Dispose(Boolean) |
Zastaralé.
Uvolní nespravované prostředky používané SafeHandle třídou určující, zda provést normální operaci dispose. (Zděděno od SafeHandle) |
| Equals(Object) |
Zastaralé.
Určuje, zda je zadaný objekt roven aktuálnímu objektu. (Zděděno od Object) |
| GetHashCode() |
Zastaralé.
Slouží jako výchozí funkce hash. (Zděděno od Object) |
| GetType() |
Zastaralé.
Získá Type aktuální instance. (Zděděno od Object) |
| Initialize(UInt32, UInt32) |
Zastaralé.
Určuje velikost přidělení vyrovnávací paměti pomocí zadaného počtu prvků a velikosti prvku. Před použitím instance je nutné tuto metodu SafeBuffer volat. |
| Initialize(UInt64) |
Zastaralé.
Definuje velikost přidělení oblasti paměti v bajtech. Před použitím instance je nutné tuto metodu SafeBuffer volat. |
| Initialize<T>(UInt32) |
Zastaralé.
Definuje velikost přidělení oblasti paměti zadáním počtu typů hodnot. Před použitím instance je nutné tuto metodu SafeBuffer volat. |
| MemberwiseClone() |
Zastaralé.
Vytvoří mělkou kopii aktuálního Object. (Zděděno od Object) |
| Read<T>(UInt64) |
Zastaralé.
Načte typ hodnoty z paměti při zadaném posunu. |
| ReadArray<T>(UInt64, T[], Int32, Int32) |
Zastaralé.
Přečte zadaný počet hodnotových typů z paměti počínaje posunem a zapíše je do pole začínajícího indexem. |
| ReadSpan<T>(UInt64, Span<T>) |
Zastaralé.
Čte typy hodnot z paměti počínaje posunem a zapisuje je do rozsahu. Počet typů hodnot, které budou načteny, je určen délkou rozsahu. |
| ReleaseHandle() |
Zastaralé.
Při přepsání v odvozené třídě spustí kód potřebný k uvolnění popisovače. (Zděděno od SafeHandle) |
| ReleasePointer() |
Zastaralé.
Uvolní ukazatel získaný metodou AcquirePointer(Byte*) . |
| SetHandle(IntPtr) |
Zastaralé.
Nastaví popisovač na zadaný před existující popisovač. (Zděděno od SafeHandle) |
| SetHandleAsInvalid() |
Zastaralé.
Označí popisovač jako již nepoužitý. (Zděděno od SafeHandle) |
| ToString() |
Zastaralé.
Vrátí řetězec, který představuje aktuální objekt. (Zděděno od Object) |
| Write<T>(UInt64, T) |
Zastaralé.
Zapíše typ hodnoty do paměti v daném umístění. |
| WriteArray<T>(UInt64, T[], Int32, Int32) |
Zastaralé.
Zapíše zadaný počet hodnotových typů do umístění paměti čtením bajtů počínaje zadaným umístěním ve vstupním poli. |
| WriteSpan<T>(UInt64, ReadOnlySpan<T>) |
Zastaralé.
Zapíše typy hodnot z rozsahu jen pro čtení do umístění paměti. |