Wie man eine Schnittstelle freigibt?

8

Ich bin neu mit dieser Sache namens Interface und DirectX. Ich hänge eine DirectX-Schnittstelle von einem bestimmten Spiel und ich benutze die DirectX, um meine eigenen Sachen, wie Texturen und Schriftarten zu zeichnen. Mein Problem ist folgendes: Wenn das Programm die Hooked Reset Funktion des Gerätes aufruft, muss ich alle meine Sachen aus dem Speicher löschen, die Com Interfaces.Wenn ich nicht klar, nachdem das Reset Event aufgerufen wurde, versuche das Game einfach zu erstellen eine neue Oberfläche Aufruf d3dDierctx9Create aber es scheitern und nur einen Fehler machen und das Spiel zu schließen.

Ich denke, dass ich nur alle Dinge vor dem Reset Event löschen muss, es wird auf Msdn erklärt.

    
Cristofer Martins 30.10.2010, 22:05
quelle

1 Antwort

19

Sie geben keine Schnittstelle frei. Es wird vom Compiler gezählt und verwaltet. Lassen Sie es den Gültigkeitsbereich verlassen, weisen Sie der Variablen eine andere Schnittstelle zu oder weisen Sie ihr nil zu. Der Compiler generiert automatisch einen Aufruf seiner Methode _Release , damit er sich selbst bereinigen kann Referenzzähler fällt auf 0.

    
Mason Wheeler 30.10.2010 22:12
quelle

Tags und Links