Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

No inicializar User32.dll o Kernel32.dll

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 184802
Síntomas
Una aplicación que se ejecuta por CreateProcess o CreateProcessAsUser puede fallar y recibe uno de los siguientes mensajes de error:
Inicialización de la biblioteca dinámica <system>\system32\user32.dll error. El proceso está terminando de forma anormal. </system>
Inicialización de la biblioteca dinámica <system>\system32\kernel32.dll fallado. El proceso está terminando de forma anormal. </system>

Además, el proceso de error devuelve el código de salida 128 o el siguiente error:
ERROR_WAIT_NO_CHILDREN
Causa
Este error se produce por una de las siguientes razones:
  • El proceso ejecutado no tiene acceso de seguridad correcto para la estación de ventana y escritorio asociados con el proceso.
  • El sistema se quedó sin el montón de escritorio.
Más información

Causa 1

El proceso ejecutado no tiene acceso de seguridad correcto para la estación de ventana y escritorio asociados con el proceso.

El miembro lpDesktop de la estructura STARTUPINFO que se pasa a CreateProcess o CreateProcessAsUser especifica la estación de ventana y escritorio asociados con el proceso ejecutado. El proceso ejecutado debe tener acceso de seguridad adecuado a la estación de ventana especificado y el escritorio.

Para obtener más información acerca de cómo resolver los problemas de seguridad con estaciones de ventana y escritorios, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
165194 Equipos de sobremesa y estaciones de ventana CreateProcessAsUser()

Causa 2

El sistema se quedó sin el montón de escritorio.

Cada objeto de escritorio en el sistema tiene un montón de escritorio asociado a él. El objeto de escritorio utiliza un montón para almacenar menús, ganchos, cadenas y ventanas. En Windows Server 2003 y Windows XP de 32 bits, el sistema asigna el montón de escritorio de un búfer de todo el sistema 48 megabytes (MB). Además de montones de escritorio, los controladores de impresora y controladores de fuentes también utilizan este búfer.

Los escritorios están asociados con estaciones de ventana. Una estación de ventana puede contener cero o más escritorios. Puede cambiar el tamaño del montón del escritorio que está asignado a un escritorio que está asociado a una estación de ventana cambiando el siguiente valor del registro.

Nota: No se recomienda que utilice elmodificador/3 GB . Se especifica el modificador/3 GB en el archivo Boot.ini. El modificador/3 GB sólo se admite en sistemas operativos de 32 bits.
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows
En Windows Server 2003 y Windows XP de 32 bits, los datos predeterminados de este valor del registro asemejan a la siguiente (todo en una sola línea):
   %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				

En las diferentes versiones de Windows, los datos predeterminados de este valor del registro serán similar al siguiente:

Para Windows Vista RTM (32 bits)
SharedSection=1024,3072,512

Para Windows Vista SP1, Windows 7, Windows 8, Windows 8.1 (32 bits) y Windows Server 2008 (32 bits)
SharedSection=1024,12288,512

Para Windows Vista, Windows 7, Windows 8, Windows 8.1 (64 bits), Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 y Windows Server 2012 R2 (64 bits)
SharedSection=1024,20480,768

Los valores numéricos que siguiente "SharedSection =" controlan cómo se asigna el montón de escritorio. Estos valores de SharedSection se especifican en kilobytes. Existen configuraciones independientes para los escritorios asociados con estaciones de ventana interactivas y no interactivas.

Nota: Si se cambian los valores de SharedSection en el registro, debe reiniciar el sistema para que los cambios surtan efecto.

Importante: esta sección, el método o la tarea contiene pasos que indican cómo modificar el registro. Sin embargo, pueden producirse problemas graves si modifica incorrectamente el registro. Por lo tanto, asegúrese de que sigue estos pasos cuidadosamente. Para una mayor protección, haga una copia de seguridad del registro antes de modificarlo. Entonces, puede restaurar el registro si se produce un problema. Para obtener más información acerca de cómo hacer copia de seguridad y restaurar el registro, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
322756 Cómo hacer copia de seguridad y restaurar el registro de Windows

El primer valor de SharedSection(1024) es el tamaño del montón común a todos los escritorios. Esto incluye la tabla de control global. Esta tabla contiene los controles de ventanas, menús, iconos, cursores etc. y configuración del sistema compartida. No es probable que alguna vez tendría que cambiar este valor.

El segundo valor de SharedSectiones el tamaño del montón del escritorio de cada escritorio asociado a la estación de ventana "interactiva" WinSta0. Los objetos de usuario como vínculos, menús, cadenas y ventanas consumen memoria en este montón de escritorio. No es probable que alguna vez tendría que cambiar este valor.

Cada escritorio creado en la estación de ventana interactiva utiliza el montón de escritorio predeterminado de 3.072 KB. De forma predeterminada, el sistema crea los siguientes tres escritorios en Winsta0:
  • Winlogon
  • Valor predeterminado
    El escritorio de aplicación "Predeterminado" se utilizarán en todos los theprocesses para el que se especifica "Winsta0\default" en la STARTUPINFO.lpDesktop de estructura . Cuando el valor de la estructura lpDesktop es NULL, la estación de ventana y el escritorio se heredan del proceso principal. Todos los servicios que se ejecutan bajo la cuenta LocalSystem con la opción de inicio dePermitir a los servicios que interactúen con el escritorioseleccionada utilizarán "Winsta0\Default". Todos estos procesos compartirán el montón de escritorio asociado con el escritorio de aplicación "Predeterminado".
  • Protector de pantalla
    El escritorio del protector de pantalla se crea en la estación de ventana interactiva (WinSta0) cuando se muestra un protector de pantalla.
El tercer valor de SharedSection es el tamaño del montón del escritorio de cada escritorio asociado con una estación de ventana "no interactiva". Si este valor no está presente, el tamaño del montón del escritorio para las estaciones de ventana no interactivas será el mismo tamaño que el especificado para las estaciones de ventana interactivas (es decir, el segundo valor de SharedSection ).

Si sólo dos valores de SharedSectionestán presentes, puede agregar un tercer valor para especificar el tamaño del montón del escritorio para los escritorios creados en las estaciones de ventana no interactiva.

Cada proceso de servicio que se ejecuta bajo una cuenta de usuario recibirá un escritorio nuevo en una estación de ventana no interactiva creada por el Administrador de Control de servicios (SCM). Por lo tanto, cada servicio que se ejecuta bajo una cuenta de usuario consume el número de kilobytes del montón de escritorio que se especifica en el tercer valor deSharedSection . Todos los servicios que se ejecutan bajo la cuenta LocalSystem al Permitir a los servicios que interactúen con el escritorioes no seleccionada comparten el montón del escritorio del escritorio "Predeterminado" en la estación de ventanas de servicio no interactiva (Service-0 x 0-3e7$).

El montón de escritorio que se utiliza en las estaciones de ventana interactivas y no interactivas debe caber en el búfer.

Disminuir el segundo o tercer valor de SharedSection aumentará el número de escritorios que se pueden crear en las estaciones de ventana correspondientes. Los valores más bajos limitarán el número de ventanas que se pueden crear en un escritorio, menús, cadenas y ganchos. Por otra parte, aumentar el segundo o tercer valor de SharedSectiondisminuye el número de escritorios que se pueden crear. Sin embargo, esto también aumentará el número de ventanas que se pueden crear en un escritorio, menús, cadenas y ganchos.

Dado que el SCM crea un nuevo escritorio en la estación de ventana no interactiva por cada proceso de servicio que se ejecuta en una cuenta de usuario, un tercer valor deSharedSectionmayor reducirá el número de servicios de cuenta de usuario que se pueden ejecutar correctamente en el sistema. Lo mínimo que se puede especificar para el segundo o tercer valor deSharedSectiones 128. Cualquier intento de utilizar un willinstead valor menor utilice 128.

User32.dll asigna el montón de escritorio cuando un proceso necesita objetos de usuario. Si una aplicación no depende de User32.dll, no consume montón de escritorio.

Nota: En Windows Server 2003, el evento específico se registra en el registro del sistema cuando se cumple una de las siguientes condiciones:
  • Si el montón del escritorio se llena, se registra el siguiente suceso:

    Tipo de suceso: advertencia
    Origen del evento: Win32k
    Categoría del suceso: ninguna
    ID. de suceso: 243
    Fecha: Fecha
    Hora: Hora
    Usuario: N/D
    Equipo: NombreDeServidor
    Descripción: Error de asignación de un montón de escritorio.

    En este caso, aumente el tamaño del montón de escritorio.
  • Si el montón de escritorio se convierte en el tamaño del búfer de todo el sistema, se registra el siguiente suceso:

    Tipo de suceso: advertencia
    Origen del evento: Win32k
    Categoría del suceso: ninguna
    ID. de suceso: 244
    Fecha: Fecha
    Hora: Hora
    Usuario: N/D
    Equipo: NombreDeServidor
    Descripción: No se pudo crear un escritorio debido al agotamiento del montón de escritorio.

    En este caso, reduzca el tamaño del montón de escritorio.
En Windows Server 2003, un búfer de todo el sistema es de 20 MB cuando se cumple una de las siguientes condiciones:
  • Está en un entorno de servicios de Terminal Server.
  • Se especifica el modificador/3 GB en el archivo Boot.ini.

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 184802 - Última revisión: 06/12/2015 17:25:00 - Revisión: 1.0

Microsoft Win32 Application Programming Interface

  • kbdll kbkernbase kbprb kbsecurity kbmt KB184802 KbMtes
Comentarios