系统之家 - 系统光盘下载网站!

当前位置:系统之家 > 系统教程 > 那些你不曾了解的WindowStations窗口站(2)

那些你不曾了解的WindowStations窗口站(2)

时间:2012-10-17 09:27:07 作者:木木 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20121015/17407.html 手机查看 评论

  对于一个桌面对象的一个访问权限叫做DESKTOP_CREATEWINDOW。如果用户没有被授予这个访问权限,任何由这个用户启动的进程都不能创建窗口。不幸的是, 象CreateWindow 这样的USER APIs 在发生同CreateFile 或 CreateMutex API类似的安全问题时,不会返回 "Access Denied(访问被拒绝)" 消息。User32.dll 中的Windows 应用程序将会被终止,导致DLL初始化错误的消息。Kernel32.dll 初始化过程是在创建一个控制板窗口时发生的。一个例程在没有对window station和桌面的合适的访问权限的时候启动cmd.exe。然而不幸的是, CreateProcess 没有任何机制来检查这个错误。当用户不具有对window station和桌面的合适访问权限时,它并不返回一个错误信息。CreateProcess将会启动这个应用程序,然后这个应用程序本身在DLL失败后终止。

  编程人员还可以有一种方法越过"User32.dll initialization failure(User32.dll初始化失败"消息。系统有一个堆用来为window station分配内存。内存是有限的。缺省设置允许创建七个或八个window station对象。如果你用光了所有的内存,你就会看到这个消息。不过,值得庆幸的是,有一个注册表关键字可以用来增加这个设置。 (参见Knowledge Base article Q142676)

  如果你没在开发服务而只是普通的应用程序,Window stations 和桌面就不是真正的问题。你的应用程序只同交互式桌面WinSta0\Default 相关联。如果你是在开发一个服务,那么它可能就会同下面的window station 及桌面组合关联:

  WinSta0\Default

  Service-0x0-3e7$\Default

  Service Account's Logon SID\Default

  WinSta0\Default 同运行在LocalSystem帐户的,并且与桌面交互的服务关联 。 (在ServiceType必须指明SERVICE_INTERACTIVE_PROCESS标志)。如果服务不同桌面交互,那么它是与Service-0x0-3e7$\Default相关联的。这是个不可见的window station。你一定很疑惑这乱七八糟的0x0-3e7$ 是什么,它是服务的登录SID 。登录SID是独一无二的。它指的是用户所属的组。系统中的所有用户都会有一个登录SID。

发表评论

0

没有更多评论了

评论就这些咯,让大家也知道你的独特见解

立即评论

以上留言仅代表用户个人观点,不代表系统之家立场

其他版本软件

人气教程排行

XP系统推荐

扫码关注
扫码关注

扫码关注 官方交流群 软件收录