Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo Marshal.DestroyStructure (IntPtr, Type)

 

Data di pubblicazione: ottobre 2016

Libera tutte le sottostrutture a cui punta il blocco di memoria non gestita specificato.

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

[SecurityCriticalAttribute]
[ComVisibleAttribute(true)]
public static void DestroyStructure(
	IntPtr ptr,
	Type structuretype
)

Parametri

ptr
Type: System.IntPtr

Puntatore a un blocco di memoria non gestita.

structuretype
Type: System.Type

Tipo di una classe formattata. Fornisce le informazioni di layout necessarie per eliminare il buffer o i buffer nel parametro ptr.

Exception Condition
ArgumentException

structureType ha un layout automatico. Utilizzare invece sequenziale o esplicito.

È possibile utilizzare questo metodo per liberare i campi di tipo riferimento, ad esempio stringhe, di una struttura non gestita. A differenza dei relativi campi, una struttura può essere un tipo di valore o un tipo di riferimento. Strutture di tipo di valore che contengono campi di tipo di valore (tutti copiabili) non hanno riferimenti la cui memoria deve essere liberata. Il Marshal.StructureToPtr metodo utilizza questo metodo per evitare perdite di memoria quando si riutilizza la memoria occupata da una struttura.

DestroyStructure chiama il componente COM SysFreeString funzione, che a sua volta libera una stringa allocata.

Oltre a DestroyStructure, Marshal classe fornisce due altri metodi di deallocazione di memoria: FreeCoTaskMem e FreeHGlobal.

SecurityCriticalAttribute

requires full trust for the immediate caller. This member cannot be used by partially trusted or transparent code.

Universal Windows Platform
Disponibile da 8
.NET Framework
Disponibile da 1.1
Libreria di classi portabile
Supportato in: piattaforme .NET portabili
Windows Phone
Disponibile da 8.1
Torna all'inizio
Mostra: