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!

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top