Ich schreibe ein Visual Studio-Add-in und muss ein verwaltetes CodeElements-Objekt zu seinem nicht manipulierten Formular marshallen. Ich brauche nur den Zeiger im Speicher, da ich ihn umwandeln und wie ein CodeElement auf der nicht verwalteten Seite behandeln kann.Marshalling CodeElements zu einem IntPtr in C#
Ich weiß, wie mit dem XML umzugehen, und ich habe eine funktionierende Version von diesem in C#. Ich erstellte die nicht verwaltete DLL, weil das Aufrufen aller verschiedenen Elementvariablen auf der untersten Rekursionsebene die Geschwindigkeit des Programms zunichte machte. Ich muss einfach wissen, wie System.Runtime.Interop.Marshal verwendet wird, um das CodeElements-Objekt in einen Zeiger auf das COM-Objekt im Speicher zu konvertieren.
Danke.
DTB scheint nahe der Antwort, aber es scheint nicht zu sein den Zeiger richtig ausrichten. Wenn Objektreferenz nicht auf Instanz eines Objekts oder Fehler im geschützten Speicher gesetzt ist, müssen Sie noch etwas mit dem Marshalling ändern. – user142350