User32. dll або Kernel32. dll не ініціалізується

ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.

Клацніть тут, щоб переглянути цю статтю англійською мовою: 184802
Ознаки
Програма, яка виконується застосунком або CreateProcessAsUser може не вдатися, і з'являється одне з таких повідомлень про помилку:
Ініціалізувати бібліотеку динамічного <system>\system32\user32.dll не вдалося. У процесі завершення програми. </system>
Ініціалізувати бібліотеку динамічного <system>\system32\kernel32.dll не вдалося. У процесі завершення програми. </system>

Крім того, процес повертає коду для завершення 128 така помилка:
ERROR_WAIT_NO_CHILDREN
причина
Ця проблема виникає за однієї з таких причин:
  • Процес, що виконується має правильний безпеки-доступ до робочого стола, пов'язані із процесом Віконною станцією.
  • Система запущено, бракує пам'яті робочого стола.
Додаткові відомості

Причина 1

Процес, що виконується має правильний безпеки-доступ до робочого стола, пов'язані із процесом Віконною станцією.

LpDesktop членом STARTUPINFO структури, який передається в застосунком або CreateProcessAsUser вказує, що Віконною станцією та робочий стіл, пов'язані з процес, що виконується. Процес, що виконується, потрібно правильно безпеки доступ до вказаного Віконною станцією та робочий стіл.

Щоб отримати додаткові відомості про Вирішення проблем з безпекою віконних станцій і робочих столів клацніть номер статті в базі знань Microsoft Knowledge Base:
165194 CreateProcessAsUser() windowstations і робочих столів

Причина 2

Система запущено, бракує пам'яті робочого стола.

Кожного робочого стола об'єкта, у системі, має пам'яті робочого стола, пов'язаного з ним. Об'єкт робочого стола використовується в пам'яті для онлайнове пул носіїв меню, обробки, рядків і windows. У Windows Server 2003 та Windows XP, 32-розрядних система розподіляє пам'яті робочого стола, з системної буфер 48-мегабайт (МБ). На додаток до робочого стола купи драйверів принтера та шрифт драйвери також використовувати цей буфера.

Настільні комп'ютери, пов'язані зі службою віконних станцій. Вікно станцію, можуть містити нуль або більше комп'ютерів. Можна змінити розмір динамічної пам'яті робочого стола, що виділяється для робочого стола, пов'язане з вікна станцію, змінивши значення такого параметра реєстру.

Примітка корпорація Майкрософт не рекомендує використовувати ключ/3GB . Ключ /3GB , указаного у файлі Boot ini. Ключ /3GB підтримується лише для 32-розрядних операційних системний інтегратор.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows
У Windows Server 2003 та Windows XP, 32-розрядних дані за промовчанням цей параметр реєстру може виглядати так (все, на один рядок):
   %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				

Різні версії Windows за промовчанням цей параметр реєстру даних може виглядати так:

Для ОС Windows Vista RTM, (32-розрядна версія)
SharedSection=1024,3072,512

Для Windows Vista з пакетом оновлень 1, Windows 7, Windows 8, Windows 8.1 (32-розрядна версія) і ОС Windows Server 2008 (32-розрядна версія)
SharedSection=1024,12288,512

Для ОС Windows Vista, Windows 7, Windows 8, Windows 8.1 (64-розрядна), ОС Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 і Windows Server 2012, R2 (64-розрядна версія)
SharedSection=1024,20480,768

Числове значення, що таке "SharedSection =" керування, як буде виділено пам'яті робочого стола. Ці значення, SharedSection , які вказані у кілобайт. Існують різні настройки для настільних комп'ютерів, пов'язані з інтерактивний і неінтерактивний віконних станцій.

Примітка Якщо змінити значення SharedSection у реєстрі, необхідно перезавантажити систему, щоб зміни набувати чинності.

Увага! Цей розділ, спосіб або завдання, містить вказівки, про внесення змін до реєстру. Проте, серйозні проблеми можуть виникнути якщо внесені зміни до реєстру неправильні. Таким чином, переконайтеся, що ретельно виконані такі інтерактивні елементи. Для додаткового захисту створіть архівувати реєстру перед внесенням змін. Після цього можна відновити реєстр, якщо виникає проблема. Щоб отримати додаткові відомості про архівувати та відновлення реєстру клацніть номер статті в базі знань Microsoft Knowledge Base:
322756 архівувати та відновлення реєстру в ОС Windows

Перше значення SharedSection(1024)-це спільний загальний розмір динамічної пам'яті для всіх робочих столів. Це стосується, Глобальна таблиця дескрипторів. У цій таблиці дескрипторів містить вікна, меню, піктограми, вказівники і т. д. і спільні настройки системи. Навряд, що ви завжди маєте змінити цей параметр.

Друге значення SharedSection, є розмір динамічної пам'яті для кожного робочого стола, пов'язаний із WinSta0 "інтерактивний" вікні станції. Користувача об'єкти, обробки, меню, рядків і windows, споживають в робочому столі динамічна пам'ять. Навряд, що ви завжди маєте змінити цей параметр.

Кожного робочого стола, створене в інтерактивною Віконною станцією використовується за промовчанням пам'яті робочого стола 3072 КБ. За промовчанням у Winsta0, система створює такі три комп'ютерів:
  • Winlogon
  • За промовчанням
    Застосунок робочого стола "За замовчуванням" буде використовуватися всі theprocesses, для яких у STARTUPINFO.lpDesktop структуру член вказано "Winsta0\default". Коли учасник lpDesktop структуру NULL, Віконною станцією і на робочому столі успадковуються від батьківського процесу. Усі служби, які виконуються під обліковим записом LocalSystem, установлено прапорецьДозволити запуск служби взаємодіяти з з робочим столомзапуску буде використовувати "Winsta0\Default." Усі ці процеси будуть спільний доступ до пам'яті робочого стола, пов'язаної з робочим столом застосунку "За замовчуванням".
  • заставка
    На робочому столі заставка екрана створено інтерактивних-windowstation (WinSta0) відображення заставки.
Третє значення SharedSection , є розмір динамічної пам'яті для кожного робочого стола, пов'язаний із станція "неінтерактивний" вікна. Це значення немає, розмір динамічної пам'яті робочого стола для неінтерактивних віконних станцій буде станцій відповідатиме обсягу, для інтерактивних віконних станцій (тобто, друге значення SharedSection ).

Якщо, лише два значення- SharedSectionє, можна додати третій параметр, можна вказати розмір динамічної пам'яті для настільних комп'ютерів, створених у неінтерактивних віконних станцій.

Кожен пакет процес, який виконується під обліковим записом отримає новий робочий стіл, станції неінтерактивний вікна, створені з диспетчер керування (Інвесторами). Таким чином, для кожного пакета, який виконується під обліковим записом потребує більшого кількість кілобайт пам'яті робочого стола, указаного у третє значенняSharedSection . Усі служби, які виконуються під обліковим записом LocalSystem під Вільний час Дозволити запуск служби взаємодіяти з робочого столаце не вибраний спільного ресурсу, пам'яті робочого стола "За замовчуванням" робочого стола у windows станції неінтерактивний пакет (пакет, 0x0, 3e7$).

Загальний обсяг пам'яті робочого стола, який використовується в інтерактивний і неінтерактивний вікна станцій, має відповідати в буфер.

Зменшення друге або третє значення SharedSection , щоб збільшити кількість комп'ютерів, які можуть бути створені у відповідних віконних станцій. Менші значення, буде обмежити кількість обробки, меню, рядків і windows, можна створити на робочому столі. З іншого боку, Збільшення друге або третє значення SharedSectionбуде зменшити кількість комп'ютерів, які можна створити. Однак, це також збільшити кількість обробки, меню, рядків і windows, можна створити на робочому столі.

Через те, що з Інвесторами створює новий робочий стіл, для кожного процесу служби, яка працює під обліковим записом, станції неінтерактивний вікна, розмір третє значенняSharedSectionзменшують кількість користувачів обліковий запис А комп'ютера служби успішного виконання в системі. Принаймні, може бути налаштована для друге або третє значенняSharedSection, це 128. Будь-які спроби сценарій виконання значення willinstead менший за допомогою 128.

Пам'яті робочого стола виділений User32. dll коли процес об'єкти користувача. Якщо програма не залежить від User32. dll, не буде споживати пам'яті робочого стола.

Примітка У Windows Server 2003 певні події повертати з редагування в журналі системних подій за однієї з таких умов:
  • Якщо пам'яті робочого стола стає повний, реєструється така подія:

    Тип події: попередження
    Джерело події: Win32k
    Категорія події: немає
    Подія з Ідентифікатором: 243
    Дата: Дата
    Час: Вільний час
    Користувач: н/д
    Комп'ютер: Ім'я сервера
    Опис: Помилка на виділення пам'яті робочого стола.

    У цьому випадку, збільште розмір пам'яті робочого стола.
  • Якщо загальний обсяг пам'яті робочого стола, стає розмір буфера на рівні системи, реєструється така подія:

    Тип події: попередження
    Джерело події: Win32k
    Категорія події: немає
    Подія з Ідентифікатором: 244
    Дата: Дата
    Час: Вільний час
    Користувач: н/д
    Комп'ютер: Ім'я сервера
    Опис: Не вдалося створити робочий стіл з нестачею в пам'яті робочого стола.

    У цьому випадку, зменшує об'єм пам'яті робочого стола.
У Windows Server 2003 на рівні системи буфер є 20 МБ за однієї з таких умов:
  • Ви працюєте в середовищі служб терміналів.
  • Ключ /3GB , указаного у файлі Boot ini.

Попередження. Цю статтю переведено автоматично

Властивості

Ідентифікатор статті: 184802 – останній перегляд: 06/13/2015 08:21:00 – виправлення: 1.0

Інтерфейс програмування додатків Microsoft Win32

  • kbdll kbkernbase kbprb kbsecurity kbmt KB184802 KbMtuk
Зворотний зв’язок