文章編號: 184802 - 上次校閱: 2008年2月26日 - 版次: 11.3 User32.dll 或 Kernel32.dll 初始化失敗
在此頁中徵狀有時 CreateProcess() 或是 CreateProcessAsUser() 失敗,且您所執行的應用程式會收到下列錯誤訊息其中: 初始化動態程式庫 <system>\system32\user32.dll 失敗。正在異常終止處理程序。 初始化動態程式庫 <system>\system32\kernel32.dll 失敗。正在異常終止處理程序。 ERROR_WAIT_NO_CHILDREN 發生的原因失敗被因下列其中一項:
其他相關資訊原因 1執行處理序沒有適當的安全性存取視窗工作站及處理程序相關聯的桌面。傳遞給 CreateProcess() 或 CreateProcessAsUser() STARTUPINFO 結構 lpDesktop 成員指定哪些視窗工作站,而且桌面執行的處理序相關聯。執行處理程序必須有適當的安全性存取權指定的視窗工作站和桌上型電腦。 如更多有關解決視窗電台與桌上型電腦的安全性問題的資訊,按一下下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項: 165194?
(http://support.microsoft.com/kb/165194/
)
CreateProcessAsUser() windowstations 和桌上型電腦 原因 2系統已用完桌面堆集。在系統上的每個桌面物件有與其相關聯的桌面堆積。桌面的物件使用堆積 (Heap) 來儲存功能表、 勾點、 字串及視窗。系統會從全系統 48 MB 緩衝區配置桌面堆集。除了桌面堆積印表機及字型驅動程式也會使用這個緩衝區。 桌面是與視窗電台相關。視窗工作站可以包含零個或更多的桌上型電腦。桌面堆積配置視窗工作站相關聯的桌面的大小可以變更下列登錄值中。 附註Microsoft 建議您不要使用 / 3GB 參數。在 boot.ini 檔案中指定 / 3GB 參數。 HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows 此登錄值預設的資料看起來像下列的 (全部在同一行): %SystemRoot%\system32\csrss.exe ObjectDirectory=\Windows SharedSection=1024,3072,512 Windows=On SubSystemType=Windows ServerDll=basesrv,1 ServerDll=winsrv:UserServerDllInitialization,3 ServerDll=winsrv:ConServerDllInitialization,2 ProfileControl=Off MaxRequestThreads=16 附註如果修改登錄中的 SharedSection 值,將必須重新啟動系統所做的變更生效之前。 重要這個區段、 方法或任務包含告訴您如何修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,執行這些步驟時請務必小心。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 322756?
(http://support.microsoft.com/kb/322756/
)
如何備份和還原在 Windows 登錄 第一個 SharedSection 值 (1024) 是共用的堆積大小通用於所有的桌上型電腦。這包括視窗、 功能表、 圖示、 游標,和等等等等與共用的系統設定值會保留控點的 [全域控點] 資料表。不太您曾經需要變更這個值。 第二個 SharedSection 值 (3072) 是為每個互動式 」 視窗工作站 WinSta0 相關聯的桌面桌面堆積的大小。使用者物件喜歡勾點、 功能表、 字串,和視窗取用這個桌面堆積的記憶體。不太您會不斷需要變更這個第二個 SharedSection 值。 會在互動式視窗工作站中建立的每個桌面會使用預設 3072 KB 桌面堆集。預設情況下,有三個桌上型電腦系統建立 Winsta0 中:
如果只有兩個 SharedSection 值都存在,您可以新增 「,512"做為第三個值來指定在非互動式的視窗工作站中建立的桌上型電腦桌面的堆積大小。 使用者帳戶下執行每個服務處理程序將會收到新的桌面中非互動式的視窗工作站建立服務控制管理員 (SCM)。因此,使用者帳戶下執行每項服務會消耗第三個 SharedSection 值中所指定的桌面堆積的 KB 的數。允許服務與桌面互動 與在 LocalSystem 帳戶下執行的所有服務 未 選取的共用桌面堆積的非互動式的服務的視窗站 (服務 0x0 3e7 $) 中的 [預設] 桌面。 總桌面堆積所使用的互動性和非互動式的視窗工作站必須符合 48 MB 全系統的緩衝區。 減少第二個或第三個 SharedSection 值會增加可在相對應的視窗工作站中建立的桌上型電腦數目。較小的值將會限制勾點、 功能表、 字串和可以建立一個桌面內的視窗的數。同樣,增加第二個或第三個 SharedSection 值會減少可建立的桌上型電腦的數目,但它將會增加的勾點、 功能表、 字串和可以建立一個桌面內的視窗數。 因為 SCM 在非互動式的視窗站使用者帳戶下執行每個服務處理程序中建立新的桌面,較大的桌面值,第三個 SharedSection 值會減少可以在系統順利執行的使用者帳號服務的數目。可以指定為第二個或第三個 SharedSection 值最小值是 128。 嘗試使用較小的值會預設為 128。 桌面堆集是由 User32.dll 所配置的當一個程序需要的使用者物件。如果應用程式不依賴 User32.dll,它不會消耗桌面堆集。 附註在 Windows Server 2003 會在系統事件日誌中記錄特定事件其中一種下列情況時:
這篇文章中的資訊適用於:
機器翻譯重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。 按一下這裡查看此文章的英文版本:184802?
(http://support.microsoft.com/kb/184802/en-us/
)
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email


回此頁最上方