Freigeben über


Marshal.FreeCoTaskMem-Methode

Gibt einen Speicherblock frei, der von der nicht verwalteten Speicherreservierungsfunktion für COM-Aufgaben mit Marshal.AllocCoTaskMem reserviert wurde.

Namespace: System.Runtime.InteropServices
Assembly: mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Shared Sub FreeCoTaskMem ( _
    ptr As IntPtr _
)
'Usage
Dim ptr As IntPtr

Marshal.FreeCoTaskMem(ptr)
public static void FreeCoTaskMem (
    IntPtr ptr
)
public:
static void FreeCoTaskMem (
    IntPtr ptr
)
public static void FreeCoTaskMem (
    IntPtr ptr
)
public static function FreeCoTaskMem (
    ptr : IntPtr
)

Parameter

  • ptr
    Die Adresse des freizugebenden Speichers.

Hinweise

Sie können FreeCoTaskMem zur Freigabe von Speicher verwenden, der von AllocCoTaskMem, ReAllocCoTaskMem oder einer gleichwertigen nicht verwalteten API reserviert wurde. Wenn der ptr-Parameter NULL (Nothing in Visual Basic) ist, hat die Methode keine Auswirkungen.

FreeCoTaskMem macht die CoTaskMemFree-COM-API-Funktion verfügbar, die alle Bytes freigibt, sodass Sie den Speicher nicht mehr verwenden können, auf den der ptr-Parameter zeigt. Weitere Informationen zu CoTaskMemFree finden Sie in der MSDN Library.

Neben FreeCoTaskMem stellt die Marshal-Klasse zwei andere Methoden zur Freigabe von reserviertem Speicher bereit: Marshal.DestroyStructure und Marshal.FreeHGlobal.

Hinweis

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".

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, 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.

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0

Siehe auch

Referenz

Marshal-Klasse
Marshal-Member
System.Runtime.InteropServices-Namespace
AllocCoTaskMem
ReAllocCoTaskMem
DestroyStructure
FreeHGlobal