Marshal.PtrToStringAuto Méthode
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.
Alloue une chaîne managée String et copie tout ou partie d’une chaîne non managée dans celle-ci.
Surcharges
| Nom | Description |
|---|---|
| PtrToStringAuto(IntPtr) |
Alloue un caractère managé String et copie tous les caractères jusqu’au premier caractère null d’une chaîne stockée dans une mémoire non managée. |
| PtrToStringAuto(IntPtr, Int32) |
Alloue un fichier managé String et copie le nombre spécifié de caractères d’une chaîne stockée dans une mémoire non managée. |
PtrToStringAuto(IntPtr)
Alloue un caractère managé String et copie tous les caractères jusqu’au premier caractère null d’une chaîne stockée dans une mémoire non managée.
public:
static System::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 ptr paramètre 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 selon les besoins. PtrToStringAutofournit les fonctionnalités opposées des méthodes et Marshal.StringToHGlobalAuto des Marshal.StringToCoTaskMemAuto méthodes.
Voir aussi
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)
S’applique à
PtrToStringAuto(IntPtr, Int32)
Alloue un fichier managé String et copie le nombre spécifié de caractères d’une chaîne stockée dans une mémoire non managée.
public:
static System::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 ptr paramètre 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 selon les besoins. PtrToStringAuto fournit les fonctionnalités opposées de Marshal.StringToCoTaskMemAuto et Marshal.StringToHGlobalAuto.
Voir aussi
- StringToCoTaskMemAuto(String)
- StringToHGlobalAuto(String)
- PtrToStringUni(IntPtr, Int32)
- PtrToStringAnsi(IntPtr)