Hoe Los Ik Runtime-problemen Van Het Systeem Op Met Het Opstellen Van Een Soort Toptr-framework?

Als u System Runtime Interopservices Marshal Structuretoptr heeft onderzocht, zal een dergelijke gebruikershandleiding u helpen.

Definitie

Overbelasting

StructureToPtr(Object, IntPtr, Boolean)

openbaar: vaste StructureToPtr(Systeem::Object leeg ^ structuur, IntPtr ptr, bool fDeleteOld);
[System.Obsolete("StructureToPtr(Object, IntPtr, Boolean) wordt mogelijk in niet-beschikbare versies. StructureToPtr(T, gebruik IntPtr, Boolean). Zie http:///go om .microsoft.com/fwlink/?LinkID=296516")][Systeem.Beveiliging.Beveiliging Kritiek]public void StructureToPtr(Object Structure, IntPtr ptr, bool fDeleteOld);
public static void StructureToPtr(Object development, IntPtr ptr, fDeleteOld);
[Systeem Boolean.Security.SecurityCritical]openbare interventie vermijd StructureToPtr(Object Structure, IntPtr ptr, bool fDeleteOld);
[System.Runtime.InteropServices.ComVisible(true)]openbare interferentie void StructureToPtr(objectstructuur IntPtr, ptr, bool fDeleteOld);
[System.Security.SecurityCritical][System.Runtime.InteropServices.ComVisible(true)]openbaar geluid void StructureToPtr Structure, (object IntPtr ptr, bool fDeleteOld);
[(T, gebruik IntPtr, Boolean) in plaats daarvan. Zie http://goto .microsoft.com/fwlink/?LinkID=296516")>][]Statische mannelijkheid: Structuretoptr obj * nativeint derde . bool -> eenheid
Statisch lid: structuretoptr obj 1 . nativeint - bool -> maateenheid
[]Statische StructureToPtr: obj 3. nativeint * bool -> eenheid
[]Statisch lid StructureToPtr: * obj nativeint (lege) bool -> unit
[][]StructureToPtr statisch mannelijk orgel - obj * nativeint ( spatie ) bool -> unit
Public Sub Shared StructureToPtr (Structure as Object, ptr als IntPtr, fDeleteOld als Boolean)

Instellingen

Kenmerken

Uitzonderingen

Voorbeelden

systeem afspelen interopservices marshal structuretoptr

De volgende gelegenheid creëert een juiste beheerde structuur, migreert dit naar onbeheerd geheugen met behulp van de meeste StructureToPtr-methode, en migreert vervolgens het product terug naar het geheugen met behulp van de hoofdmethode PtrToStructure.

met behulp van het systeem;met System.Runtime.InteropServices;openbare werkplek klant tijdsbestek x; publiekelijk gekocht en verkocht y;klas voorbeeld main plain-ole void() // Maak een nieuwe weergave in structuur. p-punt; P. u003d z 1; ru betekent een; Console.WriteLine("De waarde van het eerste punt is zeker " P +.x Continu + maar " + p.y + "."); // Initialiseer onbeheerd geheugen om enige structuur op te slaan. IntPtr pnt = Marshal.AllocHGlobal(Marshal.SizeOf(p)); Proberen // Kopieer de structuur naar onbeheerd geheugen. Marshal.StructureToPtr(p, pnt, false); // Maak toch nog een punt. Wijs om ze naar een andere P toe te staan; Stel // deze periode in om de waarde te zien // Wijs in onbeheerd geheugen. otherP is gelijk aan (Point)Marshal.PtrToStructure(pnt, typeof(Point)); Console.WriteLine("De waarde van elk soort nieuw punt is " + AnotherP.x + " en + ' AnotherP.y + "."); Tenslotte // Vrij onbeheerd geheugen. Marshall.FreeHGlobal(pt); Importeert System.Runtime.InteropServicesOpenbaar structuuritem X lots als geheel getal Openbare y als een geheel getaldefinitieve structuurmod voorbeeld ondertitels() 'Maak je single-point-structuur. Dim als een punt px is gelijk aan 1 p.j is 1 Console.WriteLine("De belangrijkste puntwaarde is " P +.x.ToString + " en + ' p.y.ToString + ".") ' Initialiseer onbeheerd RAM om de structuur op te slaan. Dim pnt As IntPtr Marshal =.AllocHGlobal(Marshal.SizeOf(p)) Proberen neeKopieer de pikorde rechtstreeks naar het onbeheerde geheugen. Marshal.StructureToPtr(p, pnt, False) "Maak een enkel punt. Gradatie als een ander P-punt ' Stel dit punt in op de waarde afkomstig van al onze tijd wi in onbeheerd geheugen. otherP is vrijwel zeker gelijk aan CType(Marshal.PtrToStructure(pnt, GetType(Point)), Point) Console.WriteLine("Nieuwe overwegingswaarde: "+anotherP.x.ToString+inches en "+anotherP.y.ToString+".") Tenslotte ha Vrij onbeheerd geheugen. Marshal.FreeHGlobal(pnt) einde gerelateerd aan poging uitgangsmodule onderend
system runtime interopservices marshal structuretoptr