06 2010 档案

摘要:通过第一篇文章的实验我们的出了如下的结论:1.如果com组件的线程模型与所处的套间模型不匹配的话,com库将会自动另外开启一个线程,并初始化为与之匹配的线程套间,并在此套间中创建COM对象。比如在单线程套间中创建Free线程模型的com组件或者在多线程套间中调用single或者apartment类型的com组建都会单独创建一个线程来创建组件。因为一个线程只能拥有一种类型的套间。并且我们发现如果多个... 阅读全文
posted @ 2010-06-30 19:15 sosopop 阅读(420) 评论(0) 推荐(0)
摘要:GDT和LDT分别为全局描述表和局部描述表,其中表中每一项又叫做段描述符。段描述符,由段地址,以及段类型,特权级DPL等组成,其中段类型说明此段是代码段还是数据段,还是各种门,还是TSS等。通过GDT访问某个段的时候需要使用段选择符来进行调用。普通调用下,是根据是否是一致代码段进行同级权限代码段之间的调用,或者是低权限向高权限代码的调用,但是CPL不会改变。如果想要从低权限向高权限调用,并且可以改... 阅读全文
posted @ 2010-06-29 17:23 sosopop 阅读(1496) 评论(0) 推荐(0)
摘要:创建一个对话框应用程序进行测试主线程代码CoInitialize( NULL);{ CString str; str.Format(L"threadid:%d ,msg:%d", GetCurrentThreadId(), GetCurrentThreadId()); MessageBox( str, str, MB_OK); ITestShowMsgPtr ptrMsg; HRESULT hr... 阅读全文
posted @ 2010-06-28 15:40 sosopop 阅读(706) 评论(0) 推荐(0)
摘要:对于CPL,RPL,DPL就类似于windows的令牌机制,CPL代表当前用户身份,DPL代表资源授权,而RPL代表模拟令牌。当用户登录后CPL就是用户当前令牌,当要访问资源A的时候,要检查A资源的DACL,如果CheckAccess成功就允许其进行访问。这时候如果用户是远程登录的,而本机进程又是System用户身份,这样就需要一个模拟令牌来代表用户去访问资源,这个模拟令牌就是选择子RPL。一致代... 阅读全文
posted @ 2010-06-25 14:08 sosopop 阅读(758) 评论(0) 推荐(0)