현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

User32.dll 또는 Kernel32.dll을 초기화 하지 않습니다.

이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.

이 문서의 영문 버전 보기:184802
현상
CreateProcess 또는 CreateProcessAsUser 실행 되는 응용 프로그램이 실패할 수 있으며 다음 오류 메시지 중 하나가 나타납니다.
<system>동적 라이브러리를 초기화 하지 못했습니다 \system32\user32.dll. 프로세스가 비정상적으로 종료 됩니다. </system>
<system>동적 라이브러리를 초기화 하지 못했습니다 \system32\kernel32.dll. 프로세스가 비정상적으로 종료 됩니다. </system>

또한 실패 한 프로세스 종료 코드 128 또는 다음 오류를 반환합니다.
ERROR_WAIT_NO_CHILDREN
원인
다음 이유 중 하나로이 오류가 발생합니다.
  • 실행 된 프로세스의 윈도우 스테이션 및 데스크톱의 프로세스와 관련 된 올바른 보안 액세스 없는 경우
  • 시스템은 데스크톱 힙을 부족합니다.
추가 정보

원인 1

실행 된 프로세스의 윈도우 스테이션 및 데스크톱의 프로세스와 관련 된 올바른 보안 액세스 없는 경우

LpDesktop 구성원 CreateProcessAsUser 또는 CreateProcess 로 전달 되는 STARTUPINFO 구조체의 윈도우 스테이션 및 데스크톱을 실행된 하는 프로세스와 관련 된 지정 합니다. 지정 된 윈도우 스테이션 및 데스크톱을 실행된 하는 과정에 올바른 보안 권한이 있어야 합니다.

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

원인 2

시스템은 데스크톱 힙을 부족합니다.

시스템의 모든 데스크톱 개체에 연결 된 데스크톱 힙이 있습니다. 데스크톱 개체 메뉴, 후크, 문자열 및 창을 저장 하는 힙을 사용 합니다. Windows Server 2003 및 Windows XP 32 비트 시스템은 데스크톱 힙 시스템 전체 48 메가바이트 (MB) 버퍼에서 할당합니다. 데스크톱 힙 외에도 프린터 드라이버와 글꼴 드라이버 또한이 버퍼로 사용합니다.

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

참고:/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 SP1, Windows 7, Windows 8, 8.1 (32 비트), Windows 및 Windows Server 2008 (32 비트)
SharedSection=1024,12288,512

Windows vista, Windows 7, Windows 8, 8.1 (64 비트) Windows, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, 및 Windows Server 2012 R2 (64 비트)
SharedSection=1024,20480,768

숫자 값을 해당 다음과 같은 "SharedSection =" 데스크톱 힙 할당 되는 방식을 제어 합니다. SharedSection 값은 킬로바이트 단위로 지정 됩니다. 대화형 및 비 대화형 윈도우 스테이션에 연결 된 데스크톱에 대해 별도 설정이 있습니다.

참고: 레지스트리에서 SharedSection 값을 변경 하면 시스템에서 변경 내용 적용 하려면 다시 시작 해야 합니다.

중요: 이 섹션, 방법 또는 작업은 레지스트리를 수정하는 방법을 설명하는 단계를 포함합니다. 그러나 레지스트리를 잘못 수정하면 심각한 문제가 발생할 수 있습니다. 따라서 다음 단계를 주의 깊게 수행해야 합니다. 추가 보호 조치로 수정하기 전에 레지스트리를 백업합니다. 그러면 문제가 발생할 경우 레지스트리를 복원할 수 있습니다. 레지스트리를 백업 및 복원하는 방법에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서 번호를 클릭합니다.
322756 Windows에서 레지스트리를 백업 및 복원하는 방법

첫 번째 SharedSection값 (1024) 일반적으로 모든 데스크톱 공유 힙 크기입니다. 이 전역 핸들 테이블이 포함 됩니다. 이 표 창, 메뉴, 아이콘, 커서, 등으로 핸들을 보유 및 공유 시스템 설정을. 그럴 가능성은이 값을 변경 해야 할 수 있습니다.

두 번째 SharedSection값 WinSta0 "대화형" 윈도우 스테이션에 연결 된 각 데스크톱에 대해 데스크톱 힙 크기입니다. 후크, 메뉴, 문자열, 사용자 개체 및 windows이 데스크톱 힙 메모리를 소모 합니다. 그럴 가능성은이 값을 변경 해야 할 수 있습니다.

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

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

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

대화형 및 비 대화형 윈도우 스테이션에 사용 중인 총 데스크톱 힙 버퍼와 맞아야 합니다.

두 번째 또는 세 번째 SharedSection 값을 줄여 해당 윈도우 스테이션에 만든 데스크톱 수가 증가 합니다. 값이 작을수록 후크, 메뉴, 문자열 및 windows 바탕 화면에서 만들 수 있는 횟수를 제한 합니다. 반면에 두 번째 또는 세 번째 SharedSection값을 늘리면 만들 수 있는 데스크톱 수를 줄입니다. 그러나 후크, 메뉴, 문자열 및 windows 바탕 화면에서 만들 수 있는 수가 증가 합니다.

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

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

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

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

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

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

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

경고: 이 문서는 자동으로 번역되었습니다.

속성

문서 ID: 184802 - 마지막 검토: 06/13/2015 08:16:00 - 수정: 1.0

Microsoft Win32 Application Programming Interface

  • kbdll kbkernbase kbprb kbsecurity kbmt KB184802 KbMtko
피드백
cript>");