Partager via


Marshal.PtrToStringAuto Méthode

Définition

Alloue un String managé afin d'y copier la totalité ou une partie d'une chaîne non managée.

Surcharges

PtrToStringAuto(IntPtr)

Alloue un objet String managé et copie tous les caractères - jusqu'au premier caractère null - d'une chaîne stockée dans de la mémoire non managée dans cet objet.

PtrToStringAuto(IntPtr, Int32)

Alloue un String managé afin d'y copier le nombre spécifié de caractères d'une chaîne stockée dans la mémoire non managée.

PtrToStringAuto(IntPtr)

Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs

Alloue un objet String managé et copie tous les caractères - jusqu'au premier caractère null - d'une chaîne stockée dans de la mémoire non managée dans cet objet.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr);
public static string? PtrToStringAuto (IntPtr ptr);
public static string PtrToStringAuto (IntPtr ptr);
[System.Security.SecurityCritical]
public static string PtrToStringAuto (IntPtr ptr);
static member PtrToStringAuto : nativeint -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr) As String

Paramètres

ptr
IntPtr

nativeint

Pour les plateformes Unicode, adresse du premier caractère Unicode.

- ou -

Pour les plateformes ANSI, adresse du premier caractère ANSI.

Retours

Chaîne managée qui contient une copie de la chaîne non managée si la valeur du paramètre ptr n’est pas null ; sinon, cette méthode retourne null.

Attributs

Remarques

Si la plateforme actuelle est Unicode, chaque caractère ANSI est étendu à un caractère Unicode et cette méthode appelle PtrToStringUni. Sinon, cette méthode appelle PtrToStringAnsi.

PtrToStringAuto est utile pour le marshaling personnalisé ou lors du mélange de code managé et non managé. Étant donné que cette méthode crée une copie du contenu de la chaîne non managée, vous devez libérer la chaîne d’origine comme il convient. PtrToStringAuto fournit les fonctionnalités opposées des Marshal.StringToCoTaskMemAuto méthodes et Marshal.StringToHGlobalAuto .

Voir aussi

S’applique à

PtrToStringAuto(IntPtr, Int32)

Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs
Source:
Marshal.Unix.cs

Alloue un String managé afin d'y copier le nombre spécifié de caractères d'une chaîne stockée dans la mémoire non managée.

public:
 static System::String ^ PtrToStringAuto(IntPtr ptr, int len);
public static string? PtrToStringAuto (IntPtr ptr, int len);
public static string PtrToStringAuto (IntPtr ptr, int len);
[System.Security.SecurityCritical]
public static string PtrToStringAuto (IntPtr ptr, int len);
static member PtrToStringAuto : nativeint * int -> string
[<System.Security.SecurityCritical>]
static member PtrToStringAuto : nativeint * int -> string
Public Shared Function PtrToStringAuto (ptr As IntPtr, len As Integer) As String

Paramètres

ptr
IntPtr

nativeint

Pour les plateformes Unicode, adresse du premier caractère Unicode.

- ou -

Pour les plateformes ANSI, adresse du premier caractère ANSI.

len
Int32

Nombre de caractères à copier.

Retours

Chaîne managée qui contient une copie de la chaîne native si la valeur du paramètre ptr n'est pas null ; sinon, cette méthode retourne null.

Attributs

Exceptions

len est inférieur à zéro.

Remarques

Sur les plateformes Unicode, cette méthode appelle PtrToStringUni; sur les plateformes ANSI, elle appelle PtrToStringAnsi. Aucune transformation n’est effectuée avant l’appel de ces méthodes.

PtrToStringAuto est utile pour le marshaling personnalisé ou lors du mélange de code managé et non managé. Étant donné que cette méthode crée une copie du contenu de la chaîne non managée, vous devez libérer la chaîne d’origine comme il convient. PtrToStringAuto fournit les fonctionnalités opposées de Marshal.StringToCoTaskMemAuto et Marshal.StringToHGlobalAuto.

Voir aussi

S’applique à