STDIN, el STDOUT y las redirecciones STDERR no funcionan en un proceso secundario de WOW64 si la función CreateProcessWithTokenW crea el proceso secundario

Síntomas

Imagine el siguiente escenario:

  • Tiene un equipo que está ejecutando una versión de 64 bits de Windows Server 2008, Windows Vista, Windows 7 o Windows Server 2008 R2.

  • En este equipo, un proceso llama a la función CreateProcessWithTokenW para crear un proceso secundario que se ejecuta en Windows de 32 bits en Windows de 64 bits (WOW64).

  • Se crea el proceso secundario de WOW64 para redirigir la entrada estándar (STDIN), salida estándar (STDOUT) y error estándar (STDERR).

En este escenario, las redirecciones no funcionan en el proceso secundario de WOW64. Por lo tanto, las aplicaciones o los servicios que dependen de la característica de redirección no funcionan.

Causa

Hay dos bloques de entorno de proceso (PEBs) para cada proceso de WOW64child. Se utiliza un PEB para procesos de 64 bits y el otro PEB se utiliza para procesos de 32 bits que se ejecutan en el entorno de emulación WOW64.

La función CreateProcessWithTokenW sólo duplica los identificadores de STDIN, STDOUT y STDERR del proceso primario para el PEB para procesos de 64 bits. Sin embargo, esta función duplicar estos identificadores de la PEB para procesos de 32 bits que se ejecutan en el entorno de emulación WOW64. Este comportamiento hace que el proceso secundario que se ejecuta bajo WOW64 para que no pueda utilizar las asas redirigidas. Por lo tanto, no las redirecciones.

Solución

Información de la revisión

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir el problema que se describe en este artículo. Aplique esta revisión solamente a sistemas que experimenten el problema descripto en este artículo. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.

Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:

Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.

Requisitos previos

Para aplicar este hotfix, el equipo debe estar ejecutando uno de los siguientes sistemas operativos:

  • Windows Vista Service Pack 1 (SP1)

  • Windows Vista Service Pack 2 (SP2)

  • Windows Server 2008

  • Windows Server 2008 Service Pack 2 (SP2)

  • Windows 7

  • Windows Server 2008 R2

Requisito de reinicio

Debe reiniciar el equipo después de aplicar este hotfix.

Información del registro

No es necesario realizar ningún cambio en el registro.

Información de archivo

La versión en inglés (Estados Unidos) de esta revisión instala archivos que tienen los atributos enumerados en las tablas siguientes. Las fechas y las horas de estos archivos se muestran en la hora Universal coordinada (UTC). Las fechas y las horas de estos archivos en el equipo local se muestran en horario local junto con la diferencia de horario de verano (DST) actual. Además, las fechas y las horas pueden cambiar cuando realiza determinadas operaciones en los archivos.

Notas sobre la información de archivos de Windows Vista y Windows Server 2008

Importante: Correcciones urgentes de Windows Vista y Windows Server 2008 se incluyen en los mismos paquetes. Sin embargo, sólo "Windows Vista" aparece en la página solicitud de revisión. Para solicitar el paquete de revisiones que se aplica a uno o ambos sistemas operativos, seleccione la revisión que aparece en "Windows Vista" en la página. Siempre consulte la sección "Aplicable a" de los artículos para determinar el sistema operativo real a la que se aplica cada revisión.

  • Los archivos que se aplican a un producto específico, SR_Level (RTM, SPn) y servicio (LDR, GDR) se pueden identificar examinando los números de versión de archivo como se muestra en la siguiente tabla.

    Versión

    Producto

    SR_Level

    Tipo de servicio

    6.0.600
    1.
    22 xxx

    Windows Vista y Windows Server 2008

    SP1

    LDR

    6.0.600
    2.
    22 xxx

    Windows Vista y Windows Server 2008

    SP2

    LDR

  • Service Pack 1 está integrado en la versión comercial de Windows Server 2008.

  • Los archivos MANIFEST (.manifest) y los MUM archivos (.mum) que se instalan para cada entorno están enumerados por separado en la sección "Información para Windows Server 2008 y Windows Vista de archivo adicional". Los archivos MUM y archivos de manifiesto y los archivos de catálogo (.cat) de seguridad asociados, son extremadamente importantes mantener el estado de los componentes actualizados. Los archivos de catálogo de seguridad, para los cuales no se muestran los atributos, están firmados con una firma digital de Microsoft.

Para todas las versiones de x64 de Windows Server 2008 y Windows Vista

Nombre del archivo

Versión del archivo

Tamaño de archivo

Fecha

Hora

Plataforma

Seclogon.dll

6.0.6001.22431

29.184

12-May-2009

16:06

x64

Seclogon.dll

6.0.6002.22134

29.184

12-May-2009

15:41

x64

Para todas las versiones basadas en Itanium de Windows Server 2008

Nombre del archivo

Versión del archivo

Tamaño de archivo

Fecha

Hora

Plataforma

Seclogon.dll

6.0.6001.22431

57,856

12-May-2009

15:46

IA-64

Seclogon.dll

6.0.6002.22134

57,856

12-May-2009

15:33

IA-64

Notas sobre la información de archivos de Windows 7 y Windows Server 2008 R2


Importante: Correcciones urgentes de Windows 7 y Windows Server 2008 R2 se incluyen en los mismos paquetes. Sin embargo, las revisiones en la página solicitud de revisión se enumeran en ambos sistemas operativos. Para solicitar el paquete de revisiones que se aplica a uno o ambos sistemas operativos, seleccione la revisión que aparece bajo "Windows 7/Windows Server 2008 R2" en la página. Siempre consulte la sección "Aplicable a" de los artículos para determinar el sistema operativo real a la que se aplica cada revisión.

  • Los archivos MANIFEST (.manifest) y los MUM archivos (.mum) que se instalan para cada entorno están enumerados por separado en la sección "Información para Windows Server 2008 R2 y Windows 7 de archivo adicional". MUM y los archivos de manifiesto y los archivos de catálogo (.cat) de seguridad asociados, son extremadamente importantes para mantener el estado de los componentes actualizados. Los archivos de catálogo de seguridad, para los cuales no se muestran los atributos, están firmados con una firma digital de Microsoft.

Para todas las versiones basadas en x64 de Windows 7 y Windows Server 2008 R2

Nombre del archivo

Versión del archivo

Tamaño de archivo

Fecha

Hora

Plataforma

Seclogon.dll

6.1.7600.20787

30.720

21-Aug-2010

07:24

x64

Para todas las versiones basadas en IA-64 compatibles de Windows Server 2008 R2

Nombre del archivo

Versión del archivo

Tamaño de archivo

Fecha

Hora

Plataforma

Seclogon.dll

6.1.7600.20787

65.024

21-Aug-2010

06:29

IA-64

Solución alternativa

Para evitar este problema, llame a la función CreateProcessAsUser para crear un proceso secundario.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a".

Más información

Para obtener más información acerca de la función CreateProcessWithTokenW , visite el siguiente sitio Web de Microsoft:

Para obtener más información acerca de la función CreateProcessAsUser , visite el siguiente sitio Web de Microsoft:

Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:

descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft


Información adicional de archivos

Información de archivo adicional para Windows Vista y Windows Server 2008

Archivos adicionales para todas las x64 basado en versiones compatibles de Windows Vista y Windows Server 2008

Nombre del archivo

Amd64_4a7908b357eecad45497e7a614da5ab2_31bf3856ad364e35_6.0.6001.22431_none_eff62086a34ac976.manifest

Versión del archivo

No aplicable

Tamaño de archivo

713

Fecha (UTC)

13-May-2009

Hora (UTC)

03:32

Plataforma

No aplicable

Nombre del archivo

Amd64_e18aeae085cca5f39361c0ace1ecfedf_31bf3856ad364e35_6.0.6002.22134_none_c800fbe0d1aafeca.manifest

Versión del archivo

No aplicable

Tamaño de archivo

713

Fecha (UTC)

13-May-2009

Hora (UTC)

03:32

Plataforma

No aplicable

Nombre del archivo

Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6001.22431_none_48ed2db26d293c6b.manifest

Versión del archivo

No aplicable

Tamaño de archivo

7,582

Fecha (UTC)

12-May-2009

Hora (UTC)

19:30

Plataforma

No aplicable

Nombre del archivo

Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6002.22134_none_4ad6a0786a4cdd94.manifest

Versión del archivo

No aplicable

Tamaño de archivo

7,582

Fecha (UTC)

12-May-2009

Hora (UTC)

19:25

Plataforma

No aplicable

Nombre del archivo

Update.mum

Versión del archivo

No aplicable

Tamaño de archivo

2,598

Fecha (UTC)

13-May-2009

Hora (UTC)

03:32

Plataforma

No aplicable

Archivos adicionales para todas las versiones compatibles basadas en IA-64 de Windows Server 2008

Nombre del archivo

Ia64_23caceaa3d7286a9ff4a23775ef4da54_31bf3856ad364e35_6.0.6002.22134_none_d01b4e8816bf0190.manifest

Versión del archivo

No aplicable

Tamaño de archivo

711

Fecha (UTC)

13-May-2009

Hora (UTC)

03:32

Plataforma

No aplicable

Nombre del archivo

Ia64_68069bedf1d5a4bd9f3dc637561ff507_31bf3856ad364e35_6.0.6001.22431_none_349d44d96d664fea.manifest

Versión del archivo

No aplicable

Tamaño de archivo

711

Fecha (UTC)

13-May-2009

Hora (UTC)

03:32

Plataforma

No aplicable

Nombre del archivo

Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6001.22431_none_ecd03624b4c9d431.manifest

Versión del archivo

No aplicable

Tamaño de archivo

7,572

Fecha (UTC)

12-May-2009

Hora (UTC)

19:14

Plataforma

No aplicable

Nombre del archivo

Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6002.22134_none_eeb9a8eab1ed755a.manifest

Versión del archivo

No aplicable

Tamaño de archivo

7,572

Fecha (UTC)

12-May-2009

Hora (UTC)

19:07

Plataforma

No aplicable

Nombre del archivo

Update.mum

Versión del archivo

No aplicable

Tamaño de archivo

1.924

Fecha (UTC)

13-May-2009

Hora (UTC)

03:32

Plataforma

No aplicable

Información de archivo adicional para Windows 7 y Windows Server 2008 R2

Archivos adicionales para todas las versiones basadas en x64 de Windows 7 y Windows Server 2008 R2

Nombre del archivo

Amd64_445df96a83014fe57068b08a79da6683_31bf3856ad364e35_6.1.7600.20787_none_20591bc8c261086c.manifest

Versión del archivo

No aplicable

Tamaño de archivo

713

Fecha (UTC)

21-Aug-2010

Hora (UTC)

12:03

Plataforma

No aplicable

Nombre del archivo

Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.1.7600.20787_none_48e4f3e3ce639760.manifest

Versión del archivo

No aplicable

Tamaño de archivo

4.810

Fecha (UTC)

21-Aug-2010

Hora (UTC)

08:37

Plataforma

No aplicable

Nombre del archivo

Update.mum

Versión del archivo

No aplicable

Tamaño de archivo

1,886

Fecha (UTC)

21-Aug-2010

Hora (UTC)

12:03

Plataforma

No aplicable

Archivos adicionales para todas las versiones basadas en IA-64 de Windows Server 2008 R2

Nombre del archivo

Ia64_a48ab9ecdf2f4b1206e2ae93b7bb6a43_31bf3856ad364e35_6.1.7600.20787_none_172788f1fbdb93a7.manifest

Versión del archivo

No aplicable

Tamaño de archivo

711

Fecha (UTC)

21-Aug-2010

Hora (UTC)

12:03

Plataforma

No aplicable

Nombre del archivo

Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.1.7600.20787_none_ecc7fc5616042f26.manifest

Versión del archivo

No aplicable

Tamaño de archivo

4.808

Fecha (UTC)

21-Aug-2010

Hora (UTC)

08:17

Plataforma

No aplicable

Nombre del archivo

Update.mum

Versión del archivo

No aplicable

Tamaño de archivo

1,684

Fecha (UTC)

21-Aug-2010

Hora (UTC)

12:03

Plataforma

No aplicable

¿Necesita más ayuda?

Ampliar sus conocimientos
Explorar los cursos
Obtener nuevas características primero
Unirse a Microsoft Insider

¿Le ha sido útil esta información?

¡Gracias por sus comentarios!

Gracias por sus comentarios. Quizá le interese ponerse en contacto con uno de nuestros agentes de soporte de Office.

×