Αποτυγχάνει η προετοιμασία της User32.dll ή Kernel32.dll

Μεταφράσεις άρθρων Μεταφράσεις άρθρων
Αναγν. άρθρου: 184802 - Δείτε τα προϊόντα στα οποία αναφέρεται το συγκεκριμένο άρθρο.
Ανάπτυξη όλων | Σύμπτυξη όλων

Σε αυτήν τη σελίδα

Συμπτώματα

Μερικές φορές μια εφαρμογή που εκτελείται, είτε CreateProcess() ή CreateProcessAsUser() αποτυγχάνει και λαμβάνετε ένα από τα ακόλουθα μηνύματα λάθους:
Η προετοιμασία της βιβλιοθήκης δυναμικών <system>\system32\user32.dll απέτυχε. Η διεργασία τερματίζεται με μη φυσιολογικό τρόπο.<b00></b00></system>
Προετοιμασία του δυναμικού βιβλιοθήκη <system>\system32\kernel32.dll απέτυχε. Η διεργασία τερματίζεται με μη φυσιολογικό τρόπο.<b00></b00></system>
Αποτυχημένη διαδικασία επιστρέφει κωδικό εξόδου 128 ή
ERROR_WAIT_NO_CHILDREN

Αιτία

Η αποτυχία οφείλεται σε ένα από τα εξής:
  1. Εκτελείται η διαδικασία δεν έχει πρόσβαση κατάλληλης ασφάλειας σταθμός και επιφάνεια εργασίας που σχετίζεται με τη διαδικασία.
  2. Το σύστημα εξαντλήθηκε σωρού επιφάνειας εργασίας.

Περισσότερες πληροφορίες

Αιτία 1

Εκτελείται η διαδικασία δεν έχει πρόσβαση κατάλληλης ασφάλειας για το σταθμός και επιφάνεια εργασίας που σχετίζεται με τη διαδικασία.

Το lpDesktop μέλος της STARTUPINFO δομής που μεταβιβάστηκε CreateProcess() ή CreateProcessAsUser() Καθορίζει ποια σταθμός και επιφάνεια είναι συσχετισμένος με το εκτελέστηκε διαδικασία. Εκτελείται η διαδικασία πρέπει να έχετε πρόσβαση κατάλληλης ασφάλειας της καθορισμένος σταθμός και επιφάνεια εργασίας.

Για περισσότερες πληροφορίες σχετικά με την επίλυση ασφαλείας προβλήματα με το παράθυρο σταθμούς και επιτραπέζιοι υπολογιστές, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
165194CreateProcessAsUser() windowstations και επιτραπέζιοι υπολογιστές

Αιτία 2

Το σύστημα εξαντλήθηκε σωρού επιφάνειας εργασίας.

Κάθε επιφάνεια εργασίας αντικείμενο του συστήματος έχει μια σωρού επιφάνειας εργασίας που σχετίζεται με αυτό. Το αντικείμενο επιφάνειας εργασίας χρησιμοποιεί το heap για την αποθήκευση των μενού, άγκιστρα, συμβολοσειρών και των windows. Το σύστημα εκχωρεί σωρού επιφάνειας εργασίας από ένα buffer 48 MB όλο το σύστημα. Εκτός από την επιφάνεια εργασίας σωρούς εκτυπωτής και προγράμματα οδήγησης γραμματοσειρά επίσης να χρησιμοποιήσετε αυτό το buffer.

Οι επιτραπέζιοι υπολογιστές που σχετίζονται με το παράθυρο σταθμούς. Ένας σταθμός παραθύρου μπορεί να περιέχει μηδέν ή περισσότερα επιτραπέζιοι υπολογιστές. Το μέγεθος του σωρού επιφάνειας εργασίας που έχει εκχωρηθεί για μια επιφάνεια εργασίας που σχετίζεται με ένας σταθμός παραθύρου μπορεί να αλλάξει από την ακόλουθη τιμή μητρώου.

ΣΗΜΕΙΩΣΗ Η Microsoft συνιστά να χρησιμοποιήσετε το διακόπτη/3 GB. Καθορίζεται το διακόπτη/3 GB στο αρχείο boot.ini.
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 =" ελέγχου πώς επιφάνειας εργασίας εκχώρηση σωρού. Αυτές οι τιμές SharedSection καθορίζονται σε kilobyte. Υπάρχουν οι ξεχωριστές ρυθμίσεις για επιτραπέζιους υπολογιστές που συνδέονται με την αλληλεπιδραστική και μη αλληλεπιδραστικό παράθυρο σταθμούς.

ΣΗΜΕΙΩΣΗ Εάν το SharedSection τροποποιούνται οι τιμές του μητρώου, το σύστημα πρέπει να επανεκκινηθεί για να ισχύσουν οι αλλαγές.

Σημαντικό Αυτή η ενότητα, μέθοδος ή εργασία περιέχει βήματα που σας καθοδηγούν να τροποποιήσετε το μητρώο. Ωστόσο, ενδέχεται να προκύψουν σοβαρά προβλήματα εάν δεν τροποποιήσετε σωστά το μητρώο. Επομένως, βεβαιωθείτε ότι ακολουθείτε προσεκτικά αυτά τα βήματα. Για επιπλέον προστασία, αντίγραφο ασφαλείας του μητρώου πριν το τροποποιήσετε. Στη συνέχεια, μπορείτε να επαναφέρετε το μητρώο εάν προκύψει κάποιο πρόβλημα. Για περισσότερες πληροφορίες σχετικά με τον τρόπο δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου, κάντε κλικ στον αριθμό του άρθρου παρακάτω, για να προβάλετε το άρθρο της Γνωσιακής Βάσης της Microsoft:
322756 Τρόπος δημιουργίας αντιγράφων ασφαλείας και επαναφοράς του μητρώου στα Windows


Η πρώτη τιμή SharedSection (1024) είναι το το μέγεθος του σωρού κοινόχρηστης κοινά σε όλες τις επιφάνειες εργασίας. Αυτό περιλαμβάνει πίνακα καθολικού δείκτη χειρισμού, που κατέχει λαβές για windows, μενού, εικονίδια, δρομείς και ούτω καθεξής και κοινή χρήση ρυθμίσεις συστήματος. Είναι πιθανό ότι θα πρέπει ποτέ να τον αλλάξετε η τιμή.

Η δεύτερη τιμή SharedSection (3072) είναι το μέγεθος του σωρού επιφάνειας εργασίας για κάθε επιφάνεια εργασίας που σχετίζεται με το παράθυρο "Αλληλεπίδραση" σταθμός WinSta0. Αντικείμενα χρήστη, όπως άγκιστρα, μενού, συμβολοσειρών και καταναλώνουν windows μνήμης σε αυτό σωρού επιφάνειας εργασίας. Είναι πιθανό ότι θα χρειαστεί να αλλάξετε η δεύτερη τιμή SharedSection.

Κάθε επιφάνεια εργασίας που δημιουργείται με το σταθμός παραθύρου αλληλεπίδρασης χρησιμοποιεί το προεπιλεγμένο heap της επιφάνειας εργασίας 3072 KB. Από προεπιλογή, Υπάρχουν τρεις επιτραπέζιοι υπολογιστές δημιουργούνται σε Winsta0 από το σύστημα:
  • Το Winlogon
  • Προεπιλογή -Η επιφάνεια εφαρμογής "Προεπιλογή" θα χρησιμοποιείται από όλα τα διαδικασίες για την οποία καθορίστηκε στο "winsta0\default" της STARTUPINFO.lpDesktop το μέλος δομής. Όταν το μέλος lpDesktop δομή είναι NULL, ο σταθμός και επιφάνεια εργασίας έχει μεταβιβαστεί από το γονικό διαδικασία. Όλες οι υπηρεσίες που εκτελούνται υπό την LocalSystem λογαριασμού με το Υπηρεσία να αλληλεπιδρά με την επιφάνεια εργασίας επιλογή εκκίνησης θα χρησιμοποιήσει την "winsta0\default". Όλα αυτά διεργασίες θα μοιράζονται το ίδιο σωρού επιφάνειας εργασίας που σχετίζεται με την "προεπιλογή" εφαρμογή επιφάνειας εργασίας.
  • Προφύλαξη οθόνης -Η επιφάνεια εργασίας προφύλαξη οθόνης δημιουργείται στο παράθυρο αλληλεπίδρασης σταθμός (WinSta0), όταν εμφανιστεί η προφύλαξη οθόνης.
Η τρίτη τιμή SharedSection (512) είναι το μέγεθος της επιφάνειας εργασίας σωρού για κάθε επιφάνεια εργασίας που σχετίζεται με ένα "μη αλληλεπιδραστική" παράθυρο σταθμός. Εάν αυτή η τιμή δεν υπάρχει, το μέγεθος της επιφάνειας εργασίας heap για θα είναι το ίδιο με το μέγεθος που καθορίσατε για σταθμούς μη αλληλεπιδραστικό παράθυρο αλληλεπιδραστικό παράθυρο σταθμούς (δεύτερη τιμή SharedSection).

Εάν μόνο Υπάρχουν δύο τιμές SharedSection, μπορείτε να προσθέσετε ", 512" ως την τιμή του τρίτου Καθορίστε το μέγεθος του σωρού επιφάνειας εργασίας για επιτραπέζιους υπολογιστές που δημιουργήθηκαν σε μη αλληλεπιδραστική παράθυρο σταθμούς.

Κάθε διαδικασία υπηρεσία που εκτελείται σε ένα λογαριασμό χρήστη θα λάβετε μια νέα επιφάνεια εργασίας σε μη αλληλεπιδραστικό παράθυρο σταθμό που δημιουργήθηκε από το Διαχείριση ελέγχου υπηρεσιών (SCM). Έτσι, κάθε υπηρεσία που εκτελείται σε ένα λογαριασμό χρήστη θα καταναλώσει ο αριθμός των kilobyte του σωρού επιφάνειας εργασίας που έχει καθοριστεί στο τρίτο Η τιμή SharedSection. Όλες οι υπηρεσίες εκτελούνται στο λογαριασμό τοπικού συστήματος με Υπηρεσία να αλληλεπιδρά με την επιφάνεια εργασίας Not επιλεγμένο κοινή χρήση σωρού επιφάνειας εργασίας της επιφάνειας εργασίας "Προεπιλογή" στο του μη αλληλεπιδραστικά υπηρεσία windows σταθμό (υπηρεσία-0x0-3e7$).

Το σύνολο που χρησιμοποιούνται στους σταθμούς αλληλεπιδραστική και μη αλληλεπιδραστική παράθυρο σωρού επιφάνειας εργασίας πρέπει να χωρέσει στο buffer 48 MB όλο το σύστημα.

Μειώνοντας το δεύτερο ή τρίτων SharedSection τιμές θα αυξήσει τον αριθμό των επιφανειών εργασίας που μπορεί να Δημιουργία στους σταθμούς αντίστοιχο παράθυρο. Μικρότερες τιμές θα περιορίσει την αριθμός άγκιστρα, μενού, συμβολοσειρών και των windows που μπορούν να δημιουργηθούν μέσα σε ένα επιφάνεια εργασίας. Αντίθετα, η αύξηση των τιμών SharedSection δεύτερη ή τρίτη θα μειώσει τον αριθμό των επιφανειών εργασίας που μπορεί να δημιουργηθεί, αλλά θα αυξηθεί αριθμός άγκιστρα, μενού, συμβολοσειρών και των windows που μπορούν να δημιουργηθούν μέσα σε ένα επιφάνεια εργασίας.

Επειδή η SCM δημιουργεί μια νέα επιφάνεια εργασίας με την μη αλληλεπιδραστική σταθμός για κάθε υπηρεσία που εκτελείται σε ένα λογαριασμό χρήστη μεγαλύτερη τιμή επιφάνειας εργασίας για την τρίτη τιμή SharedSection θα μειώσει τον αριθμό Υπηρεσίες λογαριασμού χρήστη που μπορεί να εκτελεστεί με επιτυχία στο σύστημα. Το ελάχιστο η τιμή που μπορεί να καθοριστεί για τη δεύτερη ή τρίτη τιμή SharedSection είναι 128. Οποιαδήποτε προσπάθεια να χρησιμοποιήσετε μια μικρότερη τιμή προεπιλεγμένη 128.

Σωρού επιφάνειας εργασίας εκχωρείται από User32.dll όταν μια διαδικασία χρειάζεται των αντικειμένων χρήστη. Εάν ένα εφαρμογή δεν εξαρτάται από User32.dll, δεν θα καταναλώσει το σωρού επιφάνειας εργασίας.

ΣΗΜΕΙΩΣΗ Στον Windows Server 2003, το συγκεκριμένο συμβάν καταγράφεται στο αρχείο καταγραφής συμβάντων του συστήματος όταν ισχύει μία από τις ακόλουθες συνθήκες:
  • Αν γεμίσει σωρού επιφάνειας εργασίας, καταγράφεται το ακόλουθο συμβάν:

    Τύπος συμβάντος: προειδοποίηση
    Προέλευση συμβάντος: Win32k
    Κατηγορία συμβάντος: καμία
    Το Αναγνωριστικό συμβάντος: 243
    Ημερομηνία: Ημερομηνία
    Ώρα: Ώρα
    Χρήστης: N/A
    Υπολογιστή: Όνομα_διακομιστή
    Περιγραφή: Μια εκχώρηση σωρού επιφάνειας εργασίας απέτυχε.

    Στην περίπτωση αυτή, αυξήστε το μέγεθος σωρού επιφάνειας εργασίας.
  • Εάν το μέγεθος του buffer όλο το σύστημα συνολικής σωρού επιφάνειας εργασίας, καταγράφεται το ακόλουθο συμβάν:

    Τύπος συμβάντος: προειδοποίηση
    Προέλευση συμβάντος: Win32k
    Κατηγορία συμβάντος: καμία
    Το Αναγνωριστικό συμβάντος: 244
    Ημερομηνία: Ημερομηνία
    Ώρα: Ώρα
    Χρήστης: N/A
    Υπολογιστή: Όνομα_διακομιστή
    Περιγραφή: Απέτυχε η δημιουργία επιφάνειας εργασίας λόγω εξάντλησης σωρού επιφάνειας εργασίας.

    Στην περίπτωση αυτή, να μειώσετε το μέγεθος σωρού επιφάνειας εργασίας.
Στον Windows Server 2003, ολόκληρο το σύστημα του buffer είναι 20 MB όταν ισχύει μία από τις ακόλουθες συνθήκες:
  • Βρίσκεστε σε περιβάλλον Terminal Services.
  • Καθορίζεται το διακόπτη/3 GB στο αρχείο Boot.ini.

Ιδιότητες

Αναγν. άρθρου: 184802 - Τελευταία αναθεώρηση: Παρασκευή, 27 Μαΐου 2011 - Αναθεώρηση: 4.0
Οι πληροφορίες σε αυτό το άρθρο ισχύουν για:
  • Microsoft Win32 Application Programming Interface στις ακόλουθες πλατφόρμες
    • Microsoft Windows XP Professional
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
Λέξεις-κλειδιά: 
kbdll kbkernbase kbprb kbsecurity kbmt KB184802 KbMtel
Μηχανικά μεταφρασμένο
ΣΗΜΑΝΤΙΚΟ: Αυτό το άρθρο είναι προϊόν λογισμικού μηχανικής μετάφρασης της Microsoft και όχι ανθρώπινης μετάφρασης. Η Microsoft σάς προσφέρει άρθρα που είναι προϊόντα ανθρώπινης αλλά και μηχανικής μετάφρασης έτσι ώστε να έχετε πρόσβαση σε όλα τα άρθρα της Γνωσιακής Βάσης μας στη δική σας γλώσσα. Ωστόσο, ένα άρθρο που έχει προκύψει από μηχανική μετάφραση δεν είναι πάντα άριστης ποιότητας. Ενδέχεται να περιέχει λεξιλογικά, συντακτικά ή γραμματικά λάθη, όπως ακριβώς τα λάθη που θα έκανε ένας μη φυσικός ομιλητής επιχειρώντας να μιλήσει τη γλώσσα σας. Η Microsoft δεν φέρει καμία ευθύνη για τυχόν ανακρίβειες, σφάλματα ή ζημίες που προκύψουν λόγω τυχόν παρερμηνειών στη μετάφραση του περιεχομένου ή χρήσης του από τους πελάτες της. Επίσης, η Microsoft πραγματοποιεί συχνά ενημερώσεις στο λογισμικό μηχανικής μετάφρασης.
Η αγγλική έκδοση αυτού του άρθρου είναι η ακόλουθη:184802

Αποστολή σχολίων

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com