Marshal.DestroyStructure Yöntem

Tanım

Aşırı Yüklemeler

DestroyStructure(IntPtr, Type)
Geçersiz.

Belirtilen yönetilmeyen bellek bloğunun işaret verdiği tüm alt yapıları serbest bırakır.

DestroyStructure<T>(IntPtr)

Belirtilen yönetilmeyen bellek bloğunun işaret verdiği belirtilen türdeki tüm alt yapıları serbest bırakır.

DestroyStructure(IntPtr, Type)

Kaynak:
Marshal.cs
Kaynak:
Marshal.cs
Kaynak:
Marshal.CoreCLR.cs

Dikkat

DestroyStructure(IntPtr, Type) may be unavailable in future releases. Instead, use DestroyStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296520

Belirtilen yönetilmeyen bellek bloğunun işaret verdiği tüm alt yapıları serbest bırakır.

public:
 static void DestroyStructure(IntPtr ptr, Type ^ structuretype);
[System.Obsolete("DestroyStructure(IntPtr, Type) may be unavailable in future releases. Instead, use DestroyStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296520")]
[System.Security.SecurityCritical]
public static void DestroyStructure (IntPtr ptr, Type structuretype);
public static void DestroyStructure (IntPtr ptr, Type structuretype);
[System.Security.SecurityCritical]
public static void DestroyStructure (IntPtr ptr, Type structuretype);
[System.Runtime.InteropServices.ComVisible(true)]
public static void DestroyStructure (IntPtr ptr, Type structuretype);
[System.Security.SecurityCritical]
[System.Runtime.InteropServices.ComVisible(true)]
public static void DestroyStructure (IntPtr ptr, Type structuretype);
[<System.Obsolete("DestroyStructure(IntPtr, Type) may be unavailable in future releases. Instead, use DestroyStructure<T>(IntPtr). For more info, go to http://go.microsoft.com/fwlink/?LinkID=296520")>]
[<System.Security.SecurityCritical>]
static member DestroyStructure : nativeint * Type -> unit
static member DestroyStructure : nativeint * Type -> unit
[<System.Security.SecurityCritical>]
static member DestroyStructure : nativeint * Type -> unit
[<System.Runtime.InteropServices.ComVisible(true)>]
static member DestroyStructure : nativeint * Type -> unit
[<System.Security.SecurityCritical>]
[<System.Runtime.InteropServices.ComVisible(true)>]
static member DestroyStructure : nativeint * Type -> unit
Public Shared Sub DestroyStructure (ptr As IntPtr, structuretype As Type)

Parametreler

ptr
IntPtr

nativeint

Yönetilmeyen bir bellek bloğunun işaretçisi.

structuretype
Type

Biçimlendirilmiş bir sınıfın türü. Bu, parametresindeki arabelleği ptr silmek için gereken düzen bilgilerini sağlar.

Öznitelikler

Özel durumlar

structureType otomatik bir düzene sahiptir. Bunun yerine sıralı veya açık kullanın.

Açıklamalar

Yönetilmeyen bir yapıya ait dizeler gibi başvuru türündeki alanları boşaltmak için bu yöntemi kullanabilirsiniz. Alanlarından farklı olarak, yapı bir değer türü veya başvuru türü olabilir. Değer türü alanları (tüm blittable) içeren değer türü yapıları, belleğinin boşaltılması gereken başvurulara sahip değildir. yöntemi, Marshal.StructureToPtr bir yapı tarafından kullanılan belleği yeniden kullanırken bellek sızıntılarını önlemek için bu yöntemi kullanır.

DestroyStructure COM SysFreeString işlevini çağırarak ayrılmış bir dizeyi serbest bırakabilirsiniz.

sınıfına DestroyStructureMarshal ek olarak iki bellek serbest bırakma yöntemi daha sağlar: FreeCoTaskMem ve FreeHGlobal.

Ayrıca bkz.

Şunlara uygulanır

DestroyStructure<T>(IntPtr)

Kaynak:
Marshal.cs
Kaynak:
Marshal.cs
Kaynak:
Marshal.cs

Belirtilen yönetilmeyen bellek bloğunun işaret verdiği belirtilen türdeki tüm alt yapıları serbest bırakır.

public:
generic <typename T>
 static void DestroyStructure(IntPtr ptr);
[System.Security.SecurityCritical]
public static void DestroyStructure<T> (IntPtr ptr);
public static void DestroyStructure<T> (IntPtr ptr);
[<System.Security.SecurityCritical>]
static member DestroyStructure : nativeint -> unit
static member DestroyStructure : nativeint -> unit
Public Shared Sub DestroyStructure(Of T) (ptr As IntPtr)

Tür Parametreleri

T

Biçimlendirilmiş yapının türü. Bu, parametresindeki arabelleği ptr silmek için gereken düzen bilgilerini sağlar.

Parametreler

ptr
IntPtr

nativeint

Yönetilmeyen bir bellek bloğunun işaretçisi.

Öznitelikler

Özel durumlar

T otomatik bir düzene sahiptir. Bunun yerine sıralı veya açık kullanın.

Açıklamalar

Yönetilmeyen bir yapının dizeleri gibi başvuru türü alanlarını serbest etmek için bu yöntemi kullanabilirsiniz. Alanlarından farklı olarak, yapı bir değer türü veya başvuru türü olabilir. Değer türü alanları içeren değer türü yapılarının (tüm sayfalanabilir) belleğinin boşaltılması gereken başvurular yoktur. yöntemi, Marshal.StructureToPtr bir yapı tarafından kullanılan belleği yeniden kullanırken bellek sızıntılarını önlemek için bu yöntemi kullanır.

DestroyStructure COM SysFreeString işlevini çağırarak ayrılmış bir dizeyi serbest bırakabilirsiniz.

Şunlara uygulanır