系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當前位置:系統(tǒng)之家 > 系統(tǒng)教程 > 那些你不曾了解的WindowStations窗口站(2)

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

時間:2012-10-17 09:27:07 作者:木木 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20121015/17407.html 手機查看 評論

  對于一個桌面對象的一個訪問權(quán)限叫做DESKTOP_CREATEWINDOW。如果用戶沒有被授予這個訪問權(quán)限,任何由這個用戶啟動的進程都不能創(chuàng)建窗口。不幸的是, 象CreateWindow 這樣的USER APIs 在發(fā)生同CreateFile 或 CreateMutex API類似的安全問題時,不會返回 "Access Denied(訪問被拒絕)" 消息。User32.dll 中的Windows 應(yīng)用程序?qū)唤K止,導致DLL初始化錯誤的消息。Kernel32.dll 初始化過程是在創(chuàng)建一個控制板窗口時發(fā)生的。一個例程在沒有對window station和桌面的合適的訪問權(quán)限的時候啟動cmd.exe。然而不幸的是, CreateProcess 沒有任何機制來檢查這個錯誤。當用戶不具有對window station和桌面的合適訪問權(quán)限時,它并不返回一個錯誤信息。CreateProcess將會啟動這個應(yīng)用程序,然后這個應(yīng)用程序本身在DLL失敗后終止。

  編程人員還可以有一種方法越過"User32.dll initialization failure(User32.dll初始化失敗"消息。系統(tǒng)有一個堆用來為window station分配內(nèi)存。內(nèi)存是有限的。缺省設(shè)置允許創(chuàng)建七個或八個window station對象。如果你用光了所有的內(nèi)存,你就會看到這個消息。不過,值得慶幸的是,有一個注冊表關(guān)鍵字可以用來增加這個設(shè)置。 (參見Knowledge Base article Q142676)

  如果你沒在開發(fā)服務(wù)而只是普通的應(yīng)用程序,Window stations 和桌面就不是真正的問題。你的應(yīng)用程序只同交互式桌面WinSta0\Default 相關(guān)聯(lián)。如果你是在開發(fā)一個服務(wù),那么它可能就會同下面的window station 及桌面組合關(guān)聯(lián):

  WinSta0\Default

  Service-0x0-3e7$\Default

  Service Account's Logon SID\Default

  WinSta0\Default 同運行在LocalSystem帳戶的,并且與桌面交互的服務(wù)關(guān)聯(lián) 。 (在ServiceType必須指明SERVICE_INTERACTIVE_PROCESS標志)。如果服務(wù)不同桌面交互,那么它是與Service-0x0-3e7$\Default相關(guān)聯(lián)的。這是個不可見的window station。你一定很疑惑這亂七八糟的0x0-3e7$ 是什么,它是服務(wù)的登錄SID 。登錄SID是獨一無二的。它指的是用戶所屬的組。系統(tǒng)中的所有用戶都會有一個登錄SID。

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

人氣教程排行

XP系統(tǒng)推薦

官方交流群 軟件收錄