Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren

Marshal.StringToCoTaskMemAuto-Methode

Kopiert den Inhalt eines verwalteten String in einen Speicherblock, der von der nicht verwalteten Speicherreservierung für COM-Aufgaben reserviert wurde.

Namespace: 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

Parameter

s

Eine zu kopierende verwaltete Zeichenfolge.

Rückgabewert

Der reservierte Speicherblock oder 0 (null), wenn eine NULL-Zeichenfolge bereitgestellt wurde.

AusnahmetypBedingung

OutOfMemoryException

Es ist nicht genügend Speicherplatz vorhanden.

StringToCoTaskMemAuto ist hilfreich beim benutzerdefinierten Marshalling und beim Kombinieren von verwaltetem und nicht verwaltetem Code. Da diese Methode den erforderlichen nicht verwalteten Speicher für eine Zeichenfolge reserviert, müssen Sie den Speicher immer freigeben, indem Sie FreeCoTaskMem aufrufen. Diese Methode stellt die Umkehrfunktion von Marshal.PtrToStringAuto bereit.

Abhängig vom Betriebssystem, unter dem der Code ausgeführt wird, werden die Zeichen der Zeichenfolge entweder als ANSI- oder als Unicode-Zeichen kopiert. Unter Windows 98 werden die Zeichen als ANSI-Zeichen kopiert. Unter Windows NT 4.0, Windows 2000, Windows XP und der Windows Server 2003-Familie werden die Zeichen als Unicode-Zeichen kopiert.

HinweisHinweis

Diese Methode verwendet SecurityAction.LinkDemand, um einen Aufruf aus nicht vertrauenswürdigem Code zu verhindern. Nur der direkte Aufrufer muss über die SecurityPermissionAttribute.UnmanagedCode-Berechtigung verfügen. Wenn der Code aus teilweise vertrauenswürdigem Code aufgerufen werden kann, dürfen Benutzereingaben nicht ohne Validierung an Methoden der Marshal-Klasse übergeben werden. Wichtige Einschränkungen bei der Verwendung des LinkDemand-Members finden Sie unter "Demand" und "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 unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen.

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0
Anzeigen:
© 2015 Microsoft