SafeBuffer Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Attention
SafeBuffer may be unavailable in future releases.
Fournit une mémoire tampon contrôlée qui peut être utilisée pour la lecture et l'écriture. Toute tentative d'accès à la mémoire en dehors de la mémoire tampon contrôlée (sous-utilisation et dépassement) entraîne la levée d'exceptions.
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
- Héritage
- Héritage
- Héritage
- Dérivé
- Attributs
Remarques
Vous devez appeler la SafeBuffer.Initialize méthode avant d’utiliser une instance de SafeBuffer. Pour éviter les courses lorsque vous stockez une instance d’un SafeBuffer objet dans une variable statique, vous devez utiliser l’une des approches suivantes :
Créez un verrou lors de la publication de SafeBuffer.
Créez une variable locale, initialisez le SafeBuffer, puis affectez le SafeBuffer à la variable statique, par exemple, à l’aide de la Interlocked.CompareExchange méthode .
Notes
Les affectations dans un constructeur de classe statique sont implicitement verrouillées.
Constructeurs
SafeBuffer(Boolean) |
Obsolète.
Crée une instance de la classe SafeBuffer et spécifie si le handle de tampon doit être libéré de manière fiable. |
Champs
handle |
Obsolète.
Spécifie le handle à encapsuler. (Hérité de SafeHandle) |
Propriétés
ByteLength |
Obsolète.
Obtient la taille du tampon, en octets. |
IsClosed |
Obsolète.
Obtient une valeur indiquant si le handle est fermé. (Hérité de SafeHandle) |
IsInvalid |
Obsolète.
Obtient une valeur qui indique si le handle n'est pas valide. |
IsInvalid |
Obsolète.
Obtient une valeur qui indique si le handle n'est pas valide. (Hérité de SafeHandleZeroOrMinusOneIsInvalid) |
Méthodes
AcquirePointer(Byte*) |
Obsolète.
Obtient un pointeur à partir d'un objet SafeBuffer pour un bloc de mémoire. |
Close() |
Obsolète.
Marque le handle pour libérer des ressources. (Hérité de SafeHandle) |
DangerousAddRef(Boolean) |
Obsolète.
Incrémente manuellement le compteur de références sur les instances de SafeHandle. (Hérité de SafeHandle) |
DangerousGetHandle() |
Obsolète.
Retourne la valeur du champ handle. (Hérité de SafeHandle) |
DangerousRelease() |
Obsolète.
Décrémente manuellement le compteur de références sur une instance de SafeHandle. (Hérité de SafeHandle) |
Dispose() |
Obsolète.
Libère toutes les ressources utilisées par la classe SafeHandle. (Hérité de SafeHandle) |
Dispose(Boolean) |
Obsolète.
Libère les ressources non managées utilisées par la classe SafeHandle, en spécifiant s'il faut exécuter une opération de suppression normale. (Hérité de SafeHandle) |
Equals(Object) |
Obsolète.
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Obsolète.
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obsolète.
Obtient le Type de l'instance actuelle. (Hérité de Object) |
Initialize(UInt32, UInt32) |
Obsolète.
Spécifie la taille d'allocation du tampon de mémoire à l'aide du nombre spécifié d'éléments et de la taille des éléments. Vous devez appeler cette méthode avant d'utiliser l'instance SafeBuffer. |
Initialize(UInt64) |
Obsolète.
Définit la taille d'allocation de la région de mémoire en octets. Vous devez appeler cette méthode avant d'utiliser l'instance SafeBuffer. |
Initialize<T>(UInt32) |
Obsolète.
Définit la taille d'allocation de la région de mémoire en spécifiant le nombre de types valeur. Vous devez appeler cette méthode avant d'utiliser l'instance SafeBuffer. |
MemberwiseClone() |
Obsolète.
Crée une copie superficielle du Object actuel. (Hérité de Object) |
Read<T>(UInt64) |
Obsolète.
Lit un type valeur dans la mémoire à l'offset spécifié. |
ReadArray<T>(UInt64, T[], Int32, Int32) |
Obsolète.
Lit le nombre spécifié de types valeur dans la mémoire à partir de l'offset indiqué, puis les écrit dans un tableau à partir de l'index indiqué. |
ReadSpan<T>(UInt64, Span<T>) |
Obsolète.
Lit les types de valeurs à partir de la mémoire à partir du décalage et les écrit dans une étendue. Le nombre de types de valeurs à lire est déterminé par la longueur de l’étendue. |
ReleaseHandle() |
Obsolète.
En cas de substitution dans une classe dérivée, exécute le code nécessaire pour libérer le handle. (Hérité de SafeHandle) |
ReleasePointer() |
Obsolète.
Libère un pointeur obtenu par la méthode AcquirePointer(Byte*). |
SetHandle(IntPtr) |
Obsolète.
Définit le handle au handle préexistant spécifié. (Hérité de SafeHandle) |
SetHandleAsInvalid() |
Obsolète.
Marque un handle comme n'étant plus utilisé. (Hérité de SafeHandle) |
ToString() |
Obsolète.
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Write<T>(UInt64, T) |
Obsolète.
Écrit un type valeur dans la mémoire à l'emplacement donné. |
WriteArray<T>(UInt64, T[], Int32, Int32) |
Obsolète.
Écrit le nombre spécifié de types valeur dans un emplacement de mémoire en lisant les octets qui commencent à partir de l'emplacement spécifié dans le tableau d'entrée. |
WriteSpan<T>(UInt64, ReadOnlySpan<T>) |
Obsolète.
Écrit les types de valeur d’une étendue en lecture seule dans un emplacement mémoire. |