Partager via


Marshal.PtrToStringUni Méthode

Définition

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

Surcharges

PtrToStringUni(IntPtr)

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

PtrToStringUni(IntPtr, Int32)

Alloue un objet String managé et copie un nombre spécifié de caractères d'une chaîne Unicode non managée dans cet objet.

PtrToStringUni(IntPtr)

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

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

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

Paramètres

ptr
IntPtr

nativeint

Adresse du premier caractère de la chaîne non managée.

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

PtrToStringUni est utile pour le marshaling personnalisé ou pour une utilisation lors de la combinaison 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. Cette méthode fournit les fonctionnalités opposées des Marshal.StringToCoTaskMemUni méthodes et .Marshal.StringToHGlobalUni

Cette API reflète la définition Windows d’Unicode, qui est un encodage de 2 octets UTF-16. Sur de nombreuses plateformes non-Windows, le wchar_t type de données est de 4 octets, et non de 2 octets. Consultez votre compilateur pour vérifier si wchar_t peut être utilisé ou char16_t doit être utilisé à la place.

Voir aussi

S’applique à

PtrToStringUni(IntPtr, Int32)

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

Alloue un objet String managé et copie un nombre spécifié de caractères d'une chaîne Unicode non managée dans cet objet.

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

Paramètres

ptr
IntPtr

nativeint

Adresse du premier caractère de la chaîne non managée.

len
Int32

Nombre de caractères Unicode à copier.

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

PtrToStringUni est utile pour le marshaling personnalisé ou lors de la combinaison 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. Cette méthode fournit les fonctionnalités opposées des Marshal.StringToCoTaskMemUni méthodes et .Marshal.StringToHGlobalUni

Cette API reflète la définition Windows d’Unicode, qui est un encodage de 2 octets UTF-16. Sur de nombreuses plateformes non-Windows, le wchar_t type de données est de 4 octets, et non de 2 octets. Consultez votre compilateur pour vérifier si wchar_t peut être utilisé ou char16_t doit être utilisé à la place.

Voir aussi

S’applique à