Metodo Marshal.StringToCoTaskMemAuto

Copia il contenuto di una String gestita in un blocco di memoria allocata dall'allocatore di memoria delle attività COM non gestite.

Spazio dei nomi: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)

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

Parametri

s

Una stringa gestita da copiare.

Valore restituito

Blocco di memoria allocato oppure 0 se è stata fornita una stringa null.

Tipo di eccezioneCondizione

OutOfMemoryException

La memoria disponibile è insufficiente.

StringToCoTaskMemAuto è utile per il marshalling personalizzato o quando si unisce codice gestito e non gestito. Poiché questo metodo alloca la memoria non gestita necessaria per una stringa, liberare sempre la memoria chiamando FreeCoTaskMem. Questo metodo fornisce la funzionalità opposta rispetto a Marshal.PtrToStringAuto.

I caratteri della stringa vengono copiati come caratteri ANSI o Unicode, a seconda del sistema operativo in cui viene eseguito il codice. In Windows 98, i caratteri vengono copiati in formato ANSI. In ambiente Windows NT 4.0, Windows 2000, Windows XP e Windows Server 2003 family, i caratteri vengono copiati come caratteri Unicode.

NotaNota

Questo metodo utilizza SecurityAction.LinkDemand per evitare di essere chiamato da codice non attendibile; solo il chiamante diretto deve disporre dell'autorizzazione SecurityPermissionAttribute.UnmanagedCode. Se il codice utilizzato può essere chiamato da codice parzialmente attendibile, non passare l'input utente ai metodi della classe Marshal senza convalida. Per le limitazioni rilevanti sull'utilizzo del membro LinkDemand, vedere Demand e LinkDemand.

Windows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema.

.NET Framework

Supportato in: 2.0 1.1 1.0

Aggiunte alla community

AGGIUNGI
Mostra: