Momentan sunteți offline, așteptați să vă reconectați la internet

Inițializat user32.dll sau Kernel32.dll

IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată și poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate și articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cunoștințe în mai multe limbi. Articolele traduse automat și post-editate pot conține greșeli de vocabular, sintaxă și/sau gramatică. Microsoft nu este responsabil de inexactitățile, erorile sau daunele cauzate de traducerea greșită a conținutului sau de utilizarea acestuia de către clienți. Găsiți mai multe informații despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.

Faceți clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 184802
Simptome
O aplicație care este executat de CreateProcess sau CreateProcessAsUser pot să nu reușească și primiți unul dintre următoarele mesaje de eroare:
Initializarea bibliotecii dinamice <system>\system32\user32.dll nu a reușit. Acest proces este încheiat anormal. </system>
Initializarea bibliotecii dinamice <system>\system32\kernel32.dll nu a reușit. Acest proces este încheiat anormal. </system>

În plus, procesul nu a reuşit returnează codul de ieșire 128 sau următorul mesaj de eroare:
ERROR_WAIT_NO_CHILDREN
Cauză
Această problemă se produce pentru unul dintre următoarele motive:
  • Procesul executate nu are acces securitate corecte de stație de cadru fereastră și desktop care sunt asociate cu procesul.
  • Sistemul insuficient heap a desktopului.
Informaţii suplimentare

Cauza 1

Procesul executate nu are acces securitate corecte de stație de cadru fereastră și desktop care sunt asociate cu procesul.

Membru lpDesktop structura STARTUPINFO care este transmis către CreateProcess sau CreateProcessAsUser specifică stație de cadru fereastră și desktop care sunt asociate cu procesul de executat. Procesul de executat trebuie să aibă acces corect securitate stație de cadru fereastră specificat și desktop.

Pentru mai multe informații despre cum se rezolvă problemele de securitate desktopuri și stații de Ferestre, faceți clic pe următorul număr de articol pentru a vedea articolul în baza de cunoștințe Microsoft:
165194 CreateProcessAsUser() windowstations și desktopuri

Cauza 2

Sistemul insuficient heap a desktopului.

Fiecare obiect desktop pe sistemul are un heap a desktopului asociat cu acesta. Obiectul desktop utilizează memoria heap pentru a stoca meniurile, racordaje, șirurile și windows. În Windows Server 2003 și Windows XP pe 32 de biți, sistemul alocă heap a desktopului dintr-un buffer de la nivel de sistem 48 megaocteți (MO). Pe lângă grămezi desktop, driverele de imprimantă și font folosi acest tampon.

Desktopurile sunt asociate cu stații de Ferestre. O stație de cadru fereastră poate conține zero sau mai multe desktopuri. Puteți modifica dimensiunea memoria heap a desktopului alocate pentru un desktop care este asociat cu o stație de cadru fereastră, modificând următoarea valoare de registry.

Notă Nu recomandăm să utilizați parametrul de3 Go . Parametrul 3 Go este specificat în fișierul Boot.ini. Parametrul 3 Go este acceptată numai pentru sistemele de operare 32 de biți.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows
În Windows Server 2003 și Windows XP pe 32 de biți, datele implicit pentru această valoare de registry va asemănătoare cu următorul (toate pe o singură linie):
   %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				

În diferite versiuni de Windows, datele implicit pentru această valoare de registry seamănă cu următorul:

Pentru Windows Vista RTM (32-bit)
SharedSection=1024,3072,512

Pentru Windows Vista SP1, Windows 7, Windows 8, Windows 8.1 (32-bit) și Windows Server 2008 (32-bit)
SharedSection=1024,12288,512

Pentru Windows Vista, Windows 7, Windows 8, Windows 8.1 (64-bit), Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 și Windows Server 2012 R2 (64-bit)
SharedSection=1024,20480,768

Valorile numerice că următoarele "SharedSection =" controlează modul de alocare a memoria heap a desktopului. Aceste valori SharedSection specificate în kiloocteți. Există setări separate pentru desktopuri care sunt asociate cu stații de Ferestre interactive și noninteractivi.

Notă Dacă modificați valorile SharedSection în registry, trebuie să reporniți sistemul pentru ca modificările să aibă efect.

Important Acest secţiune, metodă sau activitate conţine paşi care vă spune cum să modificaţi registry. Cu toate acestea, grave probleme ar putea apărea dacă modificaţi registry incorect. Prin urmare, asiguraţi-vă că urmaţi aceşti paşi cu atenţie. Pentru protecţia adăugată, faceți copiere de rezervă a registrului înainte de a îl modifica. Apoi, posibilitatea să restaurați registry dacă apare o problemă. Pentru mai multe informaţii despre modul de rezervă şi restabilire registru, faceţi clic pe următorul număr de articol pentru a vedea articolul în bază de cunoştinţe Microsoft:
322756 Cum să faceți copiere de rezervă şi restabilirea registrului în Windows

Prima valoare SharedSection(1024) este dimensiunea partajat memorie heap comună tuturor desktopurilor. Aceasta include tabelul de global handle. Acest tabel ține handle-uri Ferestre, meniuri, pictograme, cursor și etc și setările de sistem partajate. Este puțin probabil că ar vreodată trebuie să modificați această valoare.

A doua valoare SharedSectioneste dimensiunea memoria heap a desktopului pentru fiecare desktop asociat cu stație de cadru fereastră "interactivă" WinSta0. Utilizator obiecte racordări, meniuri, șirurile și windows consuma memoria heap a desktopului această. Este puțin probabil că ar vreodată trebuie să modificați această valoare.

Fiecare desktop care este creat în stație de cadru fereastră interactivă utilizează memoria heap a desktopului implicit de 3,072 KB. implicit, sistemul creează următoarele trei desktop-uri în Winsta0:
  • Winlogon
  • implicit
    "Implicit" aplicație desktop vor fi utilizate de toate theprocesses pentru care este specificat "Winsta0\default" în structura STARTUPINFO.lpDesktop membru. Când lpDesktop structură de membru este NULL, stație de cadru fereastră și desktop sunt moștenite din procesul de părinte. Toate serviciile care se execută sub contul LocalSystem cu selectată opțiunea de pornireAllow Service to Interact with Desktopva utiliza "Winsta0\Default." Toate aceste procese va partaja memoria heap a desktopului asociat cu "Implicit" aplicație desktop.
  • Economizorul de ecran
    Economizorul de ecran desktop se creează în windowstation interactive (WinSta0) când se afișează un economizor ecran.
A treia valoare SharedSection este dimensiunea memoria heap a desktopului pentru fiecare desktop asociat cu o stație de cadru fereastră "noninteractivi". Dacă această valoare nu este prezentă, dimensiunea de memoria heap a desktopului pentru stații de Ferestre noninteractivi va fi aceeași cu dimensiunea specificată pentru stațiile de Ferestre interactive (care este a doua valoare SharedSection ).

Dacă numai două valori SharedSectionsunt prezente, aveți posibilitatea să adăugați o a treia valoare pentru a specifica dimensiunea de memoria heap a desktopului pentru desktopuri care sunt create în stații de Ferestre noninteractivi.

Fiecare proces de service care se execută sub un cont de utilizator va primi un desktop nou într-o stație de cadru fereastră noninteractivi care este creat de Service Control Manager (SCM). De aceea, fiecare serviciu care se execută sub un cont de utilizator va consuma numărul de kiloocteți de heap a desktopului care este specificat în a treia valoareSharedSection . Toate serviciile care se execută sub contul LocalSystem când Allow Service to Interact with Desktopeste nu selectat partajare memoria heap a desktopului "Implicit" desktop în windows postul noninteractivi serviciu (Service-0x0-3e7$).

Memoria heap a desktopului total care este utilizat în stațiile de Ferestre interactive și noninteractivi trebuie să se potrivească în tampon.

A doua sau a treia valoare SharedSection să scadă va crește numărul de desktopuri care pot fi create în corespunzătoare stații de Ferestre. Valorile mai mici va limitați numărul de racordări, meniuri, șirurile și windows care pot fi create într-un desktop. Pe de altă parte, creşterea a doua sau a treia valoare SharedSectionva reduce numărul de desktopuri care pot fi create. Cu toate acestea, acest lucru, de asemenea, va crește numărul de racordări, meniuri, șirurile și windows care pot fi create într-un desktop.

Deoarece SCM creează un desktop nou în stație de cadru fereastră noninteractivi pentru fiecare proces de service care se execută sub un cont de utilizator, o mai mare a treia valoareSharedSectionva reduce numărul de consolidare servicii de cont de utilizator care poate executa cu succes pe sistem. Valoarea minimă care pot fi specificate pentru a doua sau a treia valoareSharedSectioneste de 128. Orice încercare de a utiliza o willinstead valoare mai mică utilizați 128.

Heap a desktopului este alocat User32.dll atunci când un proces are nevoie de obiecte de utilizator. Dacă o aplicație nu este dependentă de User32.dll, acesta nu va consuma heap a desktopului.

Notă În Windows Server 2003, anumit eveniment se înregistrează în jurnal de sistem atunci când este adevărată una dintre următoarele condiții:
  • Dacă memoria heap a desktopului devine complet, se înregistrează următoarele evenimente:

    Tip eveniment: avertisment
    Sursă eveniment: Win32k
    Categorie eveniment: nici unul
    ID eveniment: 243
    Data: Data
    Timp: Ora
    Utilizator: N/A
    Computer: ServerName
    Descriere: O alocare heap a desktopului nu a reușit.

    În acest caz, Măriți dimensiunea memorie heap desktop.
  • Dacă memoria heap a desktopului total devine dimensiunea tampon la nivel de sistem, se înregistrează următoarele evenimente:

    Tip eveniment: avertisment
    Sursă eveniment: Win32k
    Categorie eveniment: nici unul
    Event ID: 244
    Data: Data
    Timp: Ora
    Utilizator: N/A
    Computer: ServerName
    Descriere: Nu a reușit pentru a crea un desktop din cauza epuizării heap a desktopului.

    În acest caz, reduceți dimensiunea heap a desktopului.
În Windows Server 2003, un tampon la nivel de sistem este de 20 MB atunci când este adevărată una dintre următoarele condiții:
  • Sunteți într-un mediu de Terminal Services.
  • Parametrul 3 Go este specificat în fișierul Boot.ini.

Avertisment: acest articol a fost tradus automat

Proprietăți

ID articol: 184802 - Ultima examinare: 06/13/2015 08:18:00 - Revizie: 1.0

Interfaţă de programare aplicaţii pentru Microsoft Win32

  • kbdll kbkernbase kbprb kbsecurity kbmt KB184802 KbMtro
Feedback
ementsByTagName("head")[0].appendChild(m);