User32.dll atau Kernel32.dll gagal dimulai

Terjemahan Artikel Terjemahan Artikel
ID Artikel: 184802 - Melihat produk di mana artikel ini berlaku.
Perbesar semua | Perkecil semua

Pada Halaman ini

GEJALA

Kadang-kadang sebuah aplikasi yang dijalankan oleh baik CreateProcess() atau CreateProcessAsUser() gagal dan Anda menerima salah satu pesan galat berikut:
Inisialisasi perpustakaan dinamis <system>\system32\user32.dll gagal. Proses mengakhiri normal.<b00></b00></system>
Inisialisasi dinamis Perpustakaan <system>\system32\kernel32.dll gagal. Proses mengakhiri normal.<b00></b00></system>
Proses gagal kembali kode keluar 128 atau
ERROR_WAIT_NO_CHILDREN

PENYEBAB

Kegagalan disebabkan oleh salah satu dari berikut ini:
  1. Proses dieksekusi tidak memiliki tepat keamanan akses untuk jendela stasiun dan desktop yang terkait dengan proses.
  2. Sistem telah lari keluar dari tumpukan desktop.

INFORMASI LEBIH LANJUT

Penyebab 1

Proses dieksekusi tidak memiliki tepat keamanan akses ke jendela stasiun dan desktop yang terkait dengan proses.

LpDesktop anggota dari struktur STARTUPINFO berlalu untuk CreateProcess() atau CreateProcessAsUser() menentukan mana stasiun jendela dan desktop adalah terkait dengan proses dieksekusi. Proses dieksekusi harus tepat keamanan akses ke Stasiun ditetapkan dan desktop.

Untuk informasi lebih lanjut tentang menyelesaikan keamanan masalah dengan jendela stasiun dan desktop, klik nomor artikel di bawah ini untuk melihat artikel di dalam Basis Pengetahuan Microsoft:
165194CreateProcessAsUser() windowstations dan desktop

Penyebab 2

Sistem telah lari keluar dari tumpukan desktop.

Setiap desktop objek pada sistem memiliki tumpukan desktop yang terkait dengannya. Objek desktop menggunakan tumpukan untuk menyimpan menu, kait, string, dan windows. Sistem mengalokasikan desktop tumpukan dari sistem-lebar 48 MB buffer. Selain untuk desktop tumpukan, printer, dan font driver juga menggunakan penyangga ini.

Desktop yang terkait dengan jendela stasiun. Stasiun jendela dapat berisi nol atau lebih desktop. Ukuran tumpukan desktop yang dialokasikan untuk desktop yang terkait dengan Stasiun jendela dapat berubah dalam nilai registri berikut.

Catatan Microsoft tidak menganjurkan untuk menggunakan 3 GB switch. Tombol 3 GB ditentukan dalam berkas boot.ini.
HKEY_LOCAL_MACHINE SYSTEM CurrentControlSet Manager\SubSystems\Windows
Default data untuk nilai registri ini akan terlihat seperti berikut (semua dalam satu baris):
   %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
				
Nilai-nilai numerik yang mengikuti "SharedSection =" kontrol bagaimana desktop tumpukan dialokasikan. Nilai-nilai SharedSection ini ditentukan dalam kilobyte. Ada pengaturan terpisah untuk desktop yang terkait dengan interaktif dan Stasiun noninteractive jendela.

Catatan Jika SharedSection nilai registri diubah, sistem harus direstart sebelum perubahan berpengaruh.

Penting Bagian ini, metode, atau tugas yang memuat langkah-langkah yang memberitahu Anda bagaimana memodifikasi registri. Namun, masalah yang serius dapat terjadi apabila Anda salah memodifikasi registri. Oleh karena itu, pastikan Anda mengikuti langkah-langkah tersebut dengan seksama. Untuk perlindungan tambahan, buat cadangan registri sebelum Anda memodifikasi. Kemudian, Anda dapat memulihkan registri apabila terjadi masalah. Untuk informasi selengkapnya tentang cara membuat cadangan dan memulihkan registri, klik nomor artikel berikut ini untuk melihat artikel di Pangkalan Pengetahuan Microsoft:
322756 Cara membuat cadangan dan memulihkan registri di Windows


Nilai SharedSection pertama (1024) tumpukan bersama ukuran umum untuk semua desktop. Ini termasuk meja menangani global, yang memegang pegangan untuk windows, menu, ikon, kursor, dan sebagainya, dan berbagi pengaturan sistem. Itu tidak mungkin bahwa Anda akan merasa perlu untuk mengubahnya nilai.

Nilai SharedSection kedua (3072) adalah ukuran tumpukan desktop untuk setiap desktop yang berhubungan dengan jendela "interaktif" stasiun WinSta0. Objek pengguna seperti kait, menu, string, dan windows mengkonsumsi memori di tumpukan ini desktop. Itu tidak mungkin bahwa Anda akan merasa perlu untuk mengubah nilai SharedSection kedua ini.

Setiap desktop yang dibuat di Stasiun jendela interaktif menggunakan memori desktop default 3072-KB. Secara default, ada tiga desktop yang dibuat di Winsta0 oleh sistem:
  • Winlogon
  • Default -"Default" aplikasi desktop akan digunakan oleh semua proses yang "Winsta0\default" ditentukan dalam STARTUPINFO.lpDesktop struktur anggota. Ketika anggota struktur lpDesktop adalah NULL, jendela stasiun dan desktop adalah warisan dari orangtua proses. Semua layanan yang dijalankan di bawah LocalSystem account dengan Memungkinkan layanan untuk berinteraksi dengan Desktop Startup pilihan yang dipilih akan menggunakan "Winsta0\Default". Semua ini proses akan berbagi sama tumpukan desktop yang terkait dengan "Default" aplikasi desktop.
  • Screen saver -Screen saver desktop yang dibuat dalam jendela interaktif stasiun (WinSta0) ketika screen saver ditampilkan.
Nilai SharedSection ketiga (512) adalah ukuran desktop tumpukan untuk setiap desktop yang berhubungan dengan jendela "noninteractive" stasiun. Jika nilai ini tidak hadir, ukuran desktop tumpukan untuk Stasiun noninteractive jendela akan sama dengan ukuran yang ditentukan untuk jendela interaktif stasiun (nilai SharedSection kedua).

Jika hanya dua SharedSection nilai hadir, Anda dapat menambahkan ", 512" sebagai nilai ketiga menentukan ukuran tumpukan desktop untuk desktop yang dibuat di noninteractive jendela stasiun.

Setiap proses layanan yang dijalankan di bawah account pengguna akan menerima desktop baru di stasiun noninteractive jendela yang dibuat oleh Service Control Manager (SCM). Dengan demikian, setiap layanan yang dijalankan di bawah account pengguna akan mengkonsumsi jumlah kilobyte dari tumpukan desktop yang ditentukan dalam ketiga SharedSection nilai. Semua layanan yang dijalankan di bawah account LocalSystem dengan Memungkinkan layanan untuk berinteraksi dengan Desktop tidak dipilih berbagi tumpukan desktop desktop "Default" di noninteractive layanan windows stasiun (layanan-0x0-3e7$).

Total desktop tumpukan yang digunakan dalam jendela interaktif dan noninteractive stasiun harus cocok dengan 48 MB sistem buffer.

Penurunan kedua atau nilai-nilai SharedSection ketiga akan meningkatkan jumlah desktop yang dapat dibuat di stasiun jendela yang sesuai. Nilai-nilai yang lebih kecil akan membatasi jumlah kait, menu, string, dan windows yang dapat dibuat dalam desktop. Di sisi lain, meningkatkan nilai SharedSection kedua atau ketiga akan mengurangi jumlah desktop yang dapat dibuat, tapi itu akan meningkatkan jumlah kait, menu, string, dan windows yang dapat dibuat dalam desktop.

Karena SCM menciptakan sebuah desktop baru di noninteractive jendela stasiun untuk setiap proses layanan yang dijalankan di bawah account pengguna, nilai desktop yang lebih besar untuk nilai SharedSection ketiga akan mengurangi jumlah pengguna account layanan yang dapat menjalankan berhasil pada sistem. Minimum nilai yang dapat ditentukan untuk nilai SharedSection kedua atau ketiga adalah 128. Setiap usaha untuk menggunakan nilai yang lebih kecil akan secara default 128.

Tumpukan desktop dialokasikan oleh User32.dll ketika proses ini perlu objek pengguna. Jika aplikasi tidak tergantung pada User32.dll, itu tidak akan mengkonsumsi tumpukan desktop.

Catatan Pada Windows Server 2003, peristiwa tertentu masuk log peristiwa sistem ketika salah satu dari kondisi berikut ini benar:
  • Jika desktop tumpukan menjadi penuh, peristiwa berikut dicatat:

    Jenis peristiwa: peringatan
    Sumber peristiwa: Win32
    Kategori peristiwa: tidak ada
    ID Peristiwa: 243
    Tanggal: Tanggal
    Waktu: Waktu
    Pengguna: N/A
    Komputer: ServerName
    Keterangan: Alokasi desktop tumpukan gagal.

    Dalam kasus ini, meningkatkan ukuran tumpukan desktop.
  • Jika desktop tumpukan total menjadi ukuran sistem buffer, peristiwa berikut dicatat:

    Jenis peristiwa: peringatan
    Sumber peristiwa: Win32
    Kategori peristiwa: tidak ada
    ID Peristiwa: 244
    Tanggal: Tanggal
    Waktu: Waktu
    Pengguna: N/A
    Komputer: ServerName
    Keterangan: Gagal membuat desktop karena untuk desktop tumpukan kelelahan.

    Dalam kasus ini, mengurangi ukuran tumpukan desktop.
Pada Windows Server 2003, sistem buffer adalah 20 MB ketika salah satu dari kondisi berikut ini benar:
  • Anda berada di lingkungan Layanan Terminal.
  • Tombol 3 GB ditentukan dalam berkas Boot.ini.

Properti

ID Artikel: 184802 - Kajian Terakhir: 16 September 2011 - Revisi: 2.0
Berlaku bagi:
  • Microsoft Win32 Application Programming Interface, ketika digunakan dengan:
    • Microsoft Windows XP Professional
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
Kata kunci: 
kbdll kbkernbase kbprb kbsecurity kbmt KB184802 KbMtid
Penerjemahan Mesin
PENTING: Artikel ini diterjemahkan menggunakan perangkat lunak mesin penerjemah Microsoft dan bukan oleh seorang penerjemah. Microsoft menawarkan artikel yang diterjemahkan oleh seorang penerjemah maupun artikel yang diterjemahkan menggunakan mesin sehingga Anda akan memiliki akses ke seluruh artikel baru yang diterbitkan di Pangkalan Pengetahuan (Knowledge Base) dalam bahasa yang Anda gunakan. Namun, artikel yang diterjemahkan menggunakan mesin tidak selalu sempurna. Artikel tersebut mungkin memiliki kesalahan kosa kata, sintaksis, atau tata bahasa, hampir sama seperti orang asing yang berbicara dalam bahasa Anda. Microsoft tidak bertanggung jawab terhadap akurasi, kesalahan atau kerusakan yang disebabkan karena kesalahan penerjemahan konten atau penggunaannya oleh para pelanggan. Microsoft juga sering memperbarui perangkat lunak mesin penerjemah.
Klik disini untuk melihat versi Inggris dari artikel ini:184802

Berikan Masukan

 

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