gpt4 book ai didi

c++ - COM - _pAtlModule->Lock() 究竟锁定了什么?

转载 作者:行者123 更新时间:2023-11-30 04:37:40 25 4
gpt4 key购买 nike

我正在努力学习编写 COM 控件。我有一个示例项目,它使用了行

_pAtlModule->Lock()
_pAtlModule->Unlock()

分别在 COM 控件的 OnCreate() 处理程序和 OnDestroy() 处理程序中。

我意识到 _pAtlModule 是 CAtlModule 的一个实例 - “应用程序”对象(需要更好的描述)。

但是对于我的问题。 _pAtlModule->Lock() 究竟锁定了什么?我知道这是一个关键部分,但它在保护什么?

在编写 COM 控件时,我必须锁定和解锁 _pAtlModule 对象吗?

谢谢!

最佳答案

表面上看,它实际上并没有做任何实质性的事情!

MSDN 说“它增加了锁定计数并返回更新后的值;这可能对调试和跟踪很有用”。

http://msdn.microsoft.com/en-US/library/9syc2105%28v=VS.80%29.aspx

我认为这是一种误导,但该行为旨在阻止模块被卸载。我推测它是一些用作锁定 anchor 的原子值(因为需要一个更好的术语!)。

关于c++ - COM - _pAtlModule->Lock() 究竟锁定了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3706997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com