Exporter (0) Imprimer
Développer tout
Développer Réduire

Marshal.StringToCoTaskMemAuto, méthode

Copie le contenu d'un String managé dans un bloc de mémoire alloué à partir de l'allocateur de tâche COM non managé.

Espace de noms : System.Runtime.InteropServices
Assembly : mscorlib (dans mscorlib.dll)

public static IntPtr StringToCoTaskMemAuto (
	string s
)
public static IntPtr StringToCoTaskMemAuto (
	String s
)
public static function StringToCoTaskMemAuto (
	s : String
) : IntPtr

Paramètres

s

Chaîne managée à copier.

Valeur de retour

Bloc de mémoire alloué ou 0 si une chaîne nulle a été fournie.

Type d'exceptionCondition

OutOfMemoryException

Il n'y a pas suffisamment de mémoire disponible.

StringToCoTaskMemAuto s'avère utile pour le marshaling personnalisé ou dans le cas d'une combinaison de code managé et de code non managé. Dans la mesure où cette méthode alloue la mémoire non managée requise pour une chaîne, vous devez toujours libérer la mémoire en appelant FreeCoTaskMem. Cette méthode fournit les fonctionnalités inverses de la méthode Marshal.PtrToStringAuto.

Les caractères de la chaîne sont copiés sous forme de caractères ANSI ou Unicode, selon le système d'exploitation dans lequel le code est exécuté. Sous Windows 98, les caractères sont copiés sous forme de caractères ANSI. Sous Windows NT 4.0, Windows 2000, Windows XP et la famille Windows Server 2003, les caractères sont copiés sous forme de caractères Unicode.

RemarqueRemarque

Cette méthode utilise SecurityAction.LinkDemand pour empêcher tout appel à partir de code qui n'est pas digne de confiance ; seul l'appelant immédiat doit disposer de l'autorisation SecurityPermissionAttribute.UnmanagedCode. Si votre code peut être appelé à partir de code d'un niveau de confiance partiel, ne passez pas d'entrée d'utilisateur à des méthodes de la classe Marshal sans validation. Pour connaître les restrictions importantes relatives à l'utilisation du membre LinkDemand, consultez Demand et LinkDemand.

  • SecurityPermission  pour obtenir l'autorisation d'appeler du code non managé. Énumération associée : UnmanagedCode Action de sécurité : LinkDemand

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft