COM - was ist _pAtlModule-> Sperren () sperren genau?
-
02-10-2019 - |
Frage
Ich arbeite mich durch das Erlernen ein COM-Steuerelement zu schreiben. Ich habe ein Beispiel-Projekt bekam, und es verwendet die Linien
_pAtlModule->Lock()
_pAtlModule->Unlock()
in der OnCreate () -Prozedur und die OnDestroy () Handler für die Steuerung bzw. COM.
Ich weiß, dass die _pAtlModule eine Instanz des CAtlModule ist - das „Anwendung“ Objekt (in Ermangelung einer besseren Beschreibung)
.Aber auf meine Frage. Was genau macht _pAtlModule-> Sperren () Sperre? Ich weiß, es ist ein kritischer Abschnitt, aber was ist es zu schützen?
Muß ich Sperren und Entsperren des _pAtlModule Objekt, wenn mein COM-Steuerelemente zu schreiben?
Danke!
Lösung
Auf der outsude, ist es nicht wirklich erscheint etwas wesentliche zu tun!
MSDN sagt: „Es erhöht die Sperr-Anzahl und gibt den aktualisierten Wert; Dies kann nützlich sein für das Debuggen und Tracing“.
http://msdn.microsoft .com / en-US / library / 9syc2105% 28v = VS.80% 29.aspx
Ich denke, dies ist jedoch irreführend, wird das Verhalten bestimmt das Modul aus zu stoppen entladen wird. Ich theoretisieren es einige Atom Wert, der als Sperranker verwendet wird (in Ermangelung eines besseren Begriffs!).
Andere Tipps
Siehe eine ähnliche Frage Diese Funktion ist für die sogenannte Verwaltung "lock count" des in-proc COM Server DLL. Zusammen mit DllCanUloadNow()
aus der DLL der Sperr-Anzahl verhindert, bis dessen Code und Daten entladen mehr zwecklos ist.