SafeBuffer Klas
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Let op
SafeBuffer may be unavailable in future releases.
Biedt een gecontroleerde geheugenbuffer die kan worden gebruikt voor lezen en schrijven. Pogingen om toegang te krijgen tot geheugen buiten de gecontroleerde buffer (underruns en overruns) veroorzaken uitzonderingen.
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
[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
public abstract class SafeBuffer : Microsoft.Win32.SafeHandles.SafeHandleZeroOrMinusOneIsInvalid
[<System.Security.SecurityCritical>]
type SafeBuffer = class
inherit SafeHandle
[<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
type SafeBuffer = class
inherit SafeHandleZeroOrMinusOneIsInvalid
Public MustInherit Class SafeBuffer
Inherits SafeHandle
Public MustInherit Class SafeBuffer
Inherits SafeHandleZeroOrMinusOneIsInvalid
- Overname
- Overname
- Afgeleid
- Kenmerken
Opmerkingen
U moet de SafeBuffer.Initialize methode aanroepen voordat u een exemplaar van SafeBuffer. Als u races wilt voorkomen wanneer u een exemplaar van een SafeBuffer object opslaat in een statische variabele, moet u een van de volgende methoden gebruiken:
Maak een vergrendeling bij het publiceren van de SafeBuffer.
Maak een lokale variabele, initialiseer de SafeBufferen wijs de SafeBuffer variabele vervolgens toe aan de statische variabele, bijvoorbeeld met behulp van de Interlocked.CompareExchange methode.
Note
Toewijzingen in een statische klasseconstructor worden impliciet vergrendeld.
Constructors
| Name | Description |
|---|---|
| SafeBuffer(Boolean) |
Verouderd.
Hiermee maakt u een nieuw exemplaar van de SafeBuffer klasse en geeft u aan of de buffergreep betrouwbaar moet worden vrijgegeven. |
Velden
| Name | Description |
|---|---|
| handle |
Verouderd.
Hiermee geeft u de greep die moet worden verpakt. (Overgenomen van SafeHandle) |
Eigenschappen
| Name | Description |
|---|---|
| ByteLength |
Verouderd.
Hiermee wordt de grootte van de buffer in bytes opgeslagen. |
| IsClosed |
Verouderd.
Hiermee wordt een waarde opgehaald die aangeeft of de ingang is gesloten. (Overgenomen van SafeHandle) |
| IsInvalid |
Verouderd.
Hiermee wordt een waarde opgehaald die aangeeft of de ingang ongeldig is. |
| IsInvalid |
Verouderd.
Hiermee wordt een waarde opgehaald die aangeeft of de ingang ongeldig is. (Overgenomen van SafeHandleZeroOrMinusOneIsInvalid) |
Methoden
| Name | Description |
|---|---|
| AcquirePointer(Byte*) |
Verouderd.
Hiermee haalt u een aanwijzer op van een SafeBuffer object voor een blok geheugen. |
| Close() |
Verouderd.
Markeert de ingang voor het vrijgeven en vrijmaken van resources. (Overgenomen van SafeHandle) |
| DangerousAddRef(Boolean) |
Verouderd.
Hiermee wordt het referentiemeteritem SafeHandle voor exemplaren handmatig verhoogd. (Overgenomen van SafeHandle) |
| DangerousGetHandle() |
Verouderd.
Retourneert de waarde van het handle veld. (Overgenomen van SafeHandle) |
| DangerousRelease() |
Verouderd.
Hiermee wordt het verwijzingsteller voor een SafeHandle exemplaar handmatig gedegraded. (Overgenomen van SafeHandle) |
| Dispose() |
Verouderd.
Alle resources die door de SafeHandle klasse worden gebruikt, worden vrijgegeven. (Overgenomen van SafeHandle) |
| Dispose(Boolean) |
Verouderd.
Publiceert de niet-beheerde resources die door de SafeHandle klasse worden gebruikt en geeft aan of een normale verwijderingsbewerking moet worden uitgevoerd. (Overgenomen van SafeHandle) |
| Equals(Object) |
Verouderd.
Bepaalt of het opgegeven object gelijk is aan het huidige object. (Overgenomen van Object) |
| GetHashCode() |
Verouderd.
Fungeert als de standaardhashfunctie. (Overgenomen van Object) |
| GetType() |
Verouderd.
Hiermee haalt u de Type huidige instantie op. (Overgenomen van Object) |
| Initialize(UInt32, UInt32) |
Verouderd.
Hiermee geeft u de toewijzingsgrootte van de geheugenbuffer op met behulp van het opgegeven aantal elementen en elementgrootte. U moet deze methode aanroepen voordat u het SafeBuffer exemplaar gebruikt. |
| Initialize(UInt64) |
Verouderd.
Definieert de toewijzingsgrootte van de geheugenregio in bytes. U moet deze methode aanroepen voordat u het SafeBuffer exemplaar gebruikt. |
| Initialize<T>(UInt32) |
Verouderd.
Definieert de toewijzingsgrootte van de geheugenregio door het aantal waardetypen op te geven. U moet deze methode aanroepen voordat u het SafeBuffer exemplaar gebruikt. |
| MemberwiseClone() |
Verouderd.
Hiermee maakt u een ondiepe kopie van de huidige Object. (Overgenomen van Object) |
| Read<T>(UInt64) |
Verouderd.
Leest een waardetype uit het geheugen op de opgegeven offset. |
| ReadArray<T>(UInt64, T[], Int32, Int32) |
Verouderd.
Leest het opgegeven aantal waardetypen uit het geheugen vanaf de offset en schrijft deze naar een matrix die begint bij de index. |
| ReleaseHandle() |
Verouderd.
Wanneer deze wordt overschreven in een afgeleide klasse, voert u de code uit die is vereist om de ingang vrij te maken. (Overgenomen van SafeHandle) |
| ReleasePointer() |
Verouderd.
Hiermee wordt een aanwijzer vrijgegeven die is verkregen door de AcquirePointer(Byte*) methode. |
| SetHandle(IntPtr) |
Verouderd.
Hiermee stelt u de ingang in op de opgegeven bestaande ingang. (Overgenomen van SafeHandle) |
| SetHandleAsInvalid() |
Verouderd.
Markeert een ingang als niet meer gebruikt. (Overgenomen van SafeHandle) |
| ToString() |
Verouderd.
Retourneert een tekenreeks die het huidige object vertegenwoordigt. (Overgenomen van Object) |
| Write<T>(UInt64, T) |
Verouderd.
Hiermee schrijft u een waardetype naar het geheugen op de opgegeven locatie. |
| WriteArray<T>(UInt64, T[], Int32, Int32) |
Verouderd.
Hiermee schrijft u het opgegeven aantal waardetypen naar een geheugenlocatie door bytes te lezen vanaf de opgegeven locatie in de invoermatrix. |