User32.dll 또는 Kernel32.dll 초기화에 실패한

기술 자료 번역 기술 자료 번역
기술 자료: 184802 - 이 문서가 적용되는 제품 보기.
모두 확대 | 모두 축소

이 페이지에서

현상

때로는 CreateProcess() 또는 CreateProcessAsUser() 실패하면 상태에서 실행되는 응용 프로그램이 다음 오류 메시지 중 하나가 나타납니다.
동적 라이브러리 초기화 <system>\system32\user32.dll 실패했습니다. 프로세스가 비정상적으로 종료되고 있습니다.
초기화 동적 라이브러리의 <system>\system32\kernel32.dll 실패했습니다. 프로세스가 비정상적으로 종료되고 있습니다.
실패한 프로세스 종료 코드 128 반환합니다 또는
ERROR_WAIT_NO_CHILDREN

원인

오류가 발생한 다음 중 하나로 인해 발생합니다.
  1. 실행된 프로세스와 윈도우 스테이션 및 데스크톱의 프로세스와 연결된 적절한 보안 액세스가 없습니다.
  2. 데스크톱 힙 중 시스템에서 실행된.

추가 정보

원인 1

실행된 프로세스와 윈도우 스테이션 및 데스크톱의 프로세스와 연결된 적절한 보안 액세스가 없습니다.

CreateProcess() 또는 CreateProcessAsUser() 전달된 STARTUPINFO 구조체의 lpDesktop 멤버를 어떤 윈도우 스테이션을 지정하고 바탕 화면이 실행된 프로세스와 연결된. 실행된 프로세스를 적절한 보안 지정된 윈도우 스테이션 및 데스크톱의 액세스해야 합니다.

윈도우 스테이션 및 데스크톱 보안 문제를 해결하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
165194CreateProcessAsUser() windowstations 및 데스크톱

원인 2

데스크톱 힙 중 시스템에서 실행된.

시스템의 모든 데스크톱 개체에는 이와 관련된 데스크톱 힙이 있습니다. 데스크톱 개체 힙이 메뉴, 후크, 문자열 및 창을 저장하는 예제입니다. 시스템은 데스크톱 힙을 시스템 전반에 걸친 48 MB 버퍼에서 할당합니다. 데스크톱 힙 외에도 프린터 드라이버와 글꼴이 이 버퍼를 사용합니다.

데스크톱은 윈도우 스테이션에 연결되어 있습니다. 윈도우 스테이션은 0개 이상의 데스크톱이 포함될 수 있습니다. 다음 레지스트리 값은 윈도우 스테이션을 함께 연결된 데스크톱에 대해 할당된 데스크톱 힙의 크기를 변경할 수 있습니다.

참고 /3 GB 스위치를 사용하여 않는 것이 좋습니다. boot.ini 파일에/3 GB 스위치가 지정됩니다.
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 값은 킬로바이트 단위로 지정됩니다. 대화형 및 비대화형 윈도우 스테이션에 연결된 데스크톱에 대해 별도의 설정이 있습니다.

참고 레지스트리에서 SharedSection 값을 수정한 경우에는 변경 내용을 적용하려면 시스템은 다시 시작할 수 합니다.

중요한 이 섹션에서는, 메서드 또는 작업이 레지스트리 수정 방법을 알려 주는 단계가 포함되어 있습니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 이 단계를 주의 깊게 따라야 합니다. 추가 보호 기능을 수정하기 전에 레지스트리를 백업해야. 그런 다음 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 백업 및 복원하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
322756백업 및 Windows 에서 레지스트리를 복원하는 방법


첫 번째 SharedSection (1024) 모든 데스크톱에 공통된 공유 힙 크기 값입니다. 창, 메뉴, 아이콘, 커서 및 등, 및 공유 시스템 설정을 핸들 보유하는 전역 핸들 테이블이 포함됩니다. 사용자가 항상 이 값을 변경하려면 하는 경우는 거의 없습니다.

두 번째 SharedSection (3072) "대화형 윈도우 스테이션을 WinSta0 연결된 각 데스크톱에 대해 데스크톱 힙 크기를 값입니다. 사용자 개체를 후크, 메뉴, 문자열, 및 창이 데스크톱 힙 메모리를 소모합니다. 사용자가 적이 이 두 번째 SharedSection 값을 변경해야 하는 경우는 거의 없습니다.

대화형 윈도우 스테이션에서 만든 각 데스크톱에 기본 3072 KB 데스크톱 힙을 사용합니다. 기본적으로 Winsta0 있는 시스템에서 만든 데스크톱의 세 가지.
  • Winlogon
  • 기본 - "응용 프로그램을 데스크톱"Winsta0\default"STARTUPINFO.lpDesktop 구조체 멤버가 지정된 모든 프로세스에서 사용되는 있는 기본값". lpDesktop 구조체 멤버를 NULL 때 윈도우 스테이션 및 데스크톱의 부모 프로세스에서 상속됩니다. "Winsta0\Default을" 서비스와 데스크톱 상호 작용 허용 시작 옵션을 선택한 상태로 LocalSystem 계정에서 실행되는 모든 서비스를 사용합니다. 이러한 모든 프로세스가 동일한 데스크톱 힙 "기본값" 응용 프로그램이 데스크톱과 상호 연결된 공유합니다.
  • 화면 보호기 를-화면 보호기 바탕 화면 보호기가 표시될 때 대화형 윈도우 스테이션 (WinSta0) 만들어집니다.
세 번째 SharedSection (512) "비대화형 윈도우 스테이션을 함께 연결된 각 데스크톱에 대해 데스크톱 힙 크기를 값입니다. 이 값이 없는 경우 비대화형 윈도우 스테이션에 대한 데스크톱 힙 크기를 같은 대화형 윈도우 스테이션 (두 번째 SharedSection 값) 지정된 크기로 됩니다.

두 개의 SharedSection 값이 있는 경우에만 추가할 수 있습니다 ", 512" 세 번째 값으로 비대화형 윈도우 스테이션에 만든 데스크톱 데스크톱 힙 크기를 지정합니다.

사용자 계정에서 실행되는 모든 서비스 프로세스를 SCM (서비스 제어 관리자) 에서 만든 비대화형 윈도우 스테이션에서 새 데스크톱을 받게 됩니다. 따라서 사용자 계정으로 실행되는 각 서비스는 세 번째 SharedSection 값으로 지정된 데스크톱 힙 킬로바이트 수를 사용합니다. 서비스와 데스크톱 상호 작용 허용 있는 LocalSystem 계정으로 실행되는 모든 서비스를 선택한 공유 데스크톱 힙 "기본값" 바탕 화면의 비대화형 서비스 창 스테이션 (서비스-0x0-3e7 $) 에 없습니다.

대화형 및 비대화형 윈도우 스테이션에 사용 중인 총 데스크톱 힙 48 MB 시스템 전반에 걸친 버퍼에 맞지 합니다.

두 번째 또는 세 번째 SharedSection 값을 줄여 해당 윈도우 스테이션을 만들 수 있는 데스크톱 수가 증가합니다. 더 작은 값을 후크, 메뉴, 문자열 및 데스크톱 내에서 만들 수 있는 창 수를 제한합니다. 반면, 두 번째 또는 세 번째 SharedSection 값을 늘리면 만들 수 있는 데스크톱 수를 줄일 있지만 후크, 메뉴, 문자열 및 데스크톱 내에서 만들 수 있는 창을 수가 증가합니다.

SCM 사용자 계정에서 실행 중인 모든 서비스 프로세스 비대화형 윈도우 스테이션에서 새 데스크톱을 만들고 때문에 세 번째 SharedSection 값에 대해 더 큰 데스크톱 값 시스템에 성공적으로 실행할 수 있는 사용자 계정 서비스의 수를 줄일 수 있습니다. 두 번째 또는 세 번째 SharedSection 값을 지정할 수 있는 최소 128 값입니다. 더 작은 값을 사용하는 모든 시도가 128로 기본 설정됩니다.

프로세스 사용자 개체에 필요한 경우 데스크톱 힙 User32.dll에 의해 할당됩니다. 응용 프로그램을 종속 User32.dll에 없는 경우 데스크톱 힙을 설정으로는지 않습니다.

참고 다음 조건 중 하나에 해당하는 경우 Windows Server 2003에서 특정 이벤트가 시스템 이벤트 로그에 기록됩니다.
  • 데스크톱 힙 가득 차면 다음과 같은 이벤트가 기록됩니다.

    이벤트 종류: 경고
    이벤트 원본: Win32k
    이벤트 범주: 없음
    이벤트 ID: 243
    Date 날짜:
    시간: Time
    사용자: N/A
    컴퓨터: ServerName
    설명: A 데스크톱 힙 할당이 실패했습니다.

    이 경우 데스크톱 힙 크기를 늘립니다.
  • 전체 데스크톱 힙 시스템 전체 버퍼 크기가 되면 다음 이벤트가 기록됩니다.

    이벤트 종류: 경고
    이벤트 원본: Win32k
    이벤트 범주: 없음
    이벤트 ID: 244
    Date 날짜:
    시간: Time
    사용자: N/A
    컴퓨터: ServerName
    설명: 위해 데스크톱 힙 소모 때문에 데스크톱을 만들지 못했습니다.

    이 경우 데스크톱 힙 크기를 줄입니다.
다음 조건 중 하나에 해당하는 경우 Windows Server 2003의 시스템 전체 버퍼 20 MB 같습니다.
  • 터미널 서비스 환경에서 있습니다.
  • Boot.ini 파일에서/3 GB 스위치가 지정됩니다.

속성

기술 자료: 184802 - 마지막 검토: 2008년 2월 26일 화요일 - 수정: 11.3
본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Win32 Application Programming Interface?을(를) 다음과 함께 사용했을 때
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • Microsoft Windows XP Professional
    • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
키워드:?
kbmt kbdll kbkernbase kbprb kbsecurity KB184802 KbMtko
기계 번역된 문서
중요: 본 문서는 전문 번역가가 번역한 것이 아니라 Microsoft 기계 번역 소프트웨어로 번역한 것입니다. Microsoft는 번역가가 번역한 문서 및 기계 번역된 문서를 모두 제공하므로 Microsoft 기술 자료에 있는 모든 문서를 한글로 접할 수 있습니다. 그러나 기계 번역 문서가 항상 완벽한 것은 아닙니다. 따라서 기계 번역 문서에는 마치 외국인이 한국어로 말할 때 실수를 하는 것처럼 어휘, 구문 또는 문법에 오류가 있을 수 있습니다. Microsoft는 내용상의 오역 또는 Microsoft 고객이 이러한 오역을 사용함으로써 발생하는 부 정확성, 오류 또는 손해에 대해 책임을 지지 않습니다. Microsoft는 이러한 문제를 해결하기 위해 기계 번역 소프트웨어를 자주 업데이트하고 있습니다.

피드백 보내기

 

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