Marshal.StringToHGlobalUni(String) 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.
Copie le contenu d’une mémoire managée en mémoire non managée String .
public:
static IntPtr StringToHGlobalUni(System::String ^ s);
[System.Security.SecurityCritical]
public static IntPtr StringToHGlobalUni(string s);
public static IntPtr StringToHGlobalUni(string s);
[<System.Security.SecurityCritical>]
static member StringToHGlobalUni : string -> nativeint
static member StringToHGlobalUni : string -> nativeint
Public Shared Function StringToHGlobalUni (s As String) As IntPtr
Paramètres
- s
- String
Chaîne managée à copier.
Retours
nativeint
Adresse, en mémoire non managée, à l’emplacement où le s fichier a été copié, ou 0 si s c’est nullle cas.
- Attributs
Exceptions
La méthode n’a pas pu allouer suffisamment de mémoire de tas native.
Le s paramètre dépasse la longueur maximale autorisée par le système d’exploitation.
Remarques
StringToHGlobalUni est utile pour le marshaling personnalisé ou pour une utilisation lors du mélange de code managé et non managé. Étant donné que cette méthode alloue la mémoire non managée requise pour une chaîne, libérez toujours la mémoire en appelant FreeHGlobal. Cette méthode fournit les fonctionnalités opposées de Marshal.PtrToStringUni.
Cette méthode copie les caractères null incorporés et inclut un caractère null de fin.
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 type de données wchar_t est de 4 octets, et non 2 octets. Consultez votre compilateur pour confirmer s’il wchar_t peut être utilisé ou char16_t doit être utilisé à la place.