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.

C#
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr);
C#
public static string? PtrToStringUni (IntPtr ptr);
C#
public static string PtrToStringUni (IntPtr ptr);

Paramètres

ptr
IntPtr

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 à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

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.

C#
[System.Security.SecurityCritical]
public static string PtrToStringUni (IntPtr ptr, int len);
C#
public static string PtrToStringUni (IntPtr ptr, int len);

Paramètres

ptr
IntPtr

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 à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0