2011-07-31 32 views
3

一边念叨MSDN中的剪贴板我碰到这条线进来:谁是剪贴板的系统所有者?

内存对象被放置在剪贴板上之后,该 内存句柄的所有权被转移到系统。当剪贴板 清空存储器对象具有以下剪贴板 格式之一,所述系统通过调用 指定功能释放内存对象:... (http://msdn.microsoft.com/en -us/library/ms649014%28VS.85%29.aspx - 内存和剪贴板部分)。

我不太明白是“谁是系统”?一个SYSTEM进程?剪贴板所有者的过程?

感谢您的帮助! :-)

+2

基本上,它的意思是“不是你”。 – SLaks

+2

将“操作”放在它的前面。 –

+0

@Hans有正确的答案,但如果有人在答案中写下来,它看起来就像是盗窃。来吧汉斯,把它写成答案。当然,SLaks的评论也是正确的。 –

回答

3

你是什么意思“操作系统”?没有“操作系统”过程。哪个进程实际上释放了该对象?

嗯,还有就是,该过程被称为 “系统”。但这与此无关,每个使用剪贴板混淆的Windows应用程序都会加载user32.dll。系统”。 Kernel32.dll是每隔 Windows应用程序加载的另一个重要因素。 Windows非常酷,你只需支付你实际使用的操作系统的部分费用。并且这些DLL中的代码所需的内存由每个进程共享。这在Windows NT不得不使用16 MB内存启动的时代非常重要。

没有单独的过程是必需的。

获取系统DLL的这些不同的情况下一起工作是微软的头痛。但它也是一个非常重要的策略,可以防止崩溃进程通过它取消操作系统。

2

说出系统在文档中是让你知道它没有被记录到确切发生的地方,它可能会改变。并且不要让你的呼吸等待它。系统一般是操作系统 [1],它不只是一个过程。它包含了一个巨大的应用程序,它们在进程中使用动态库,并以不同的深度级别相互通信,范围从较低级别的内核模式到较高级别的用户模式。在所有这些地方,剪贴板被处理。

现在,请不要接受这个答案,但等待汉斯。

[1]引用雷蒙德陈:“我无法相信,我不得不说”

相关问题