Sintomas
Considere o seguinte cenário:
-
Tiver um computador que esteja a executar uma versão de 64 bits do Windows Server 2008, Windows Vista, Windows 7 ou Windows Server 2008 R2.
-
Neste computador, um processo chama a função de CreateProcessWithTokenW para criar um processo subordinado compatível com o Windows de 32 bits no Windows 64-bit (WOW64).
-
Processo WOW64 subordinado é criado para redireccionar a entrada padrão (STDIN), a saída padrão (STDOUT) e o erro-padrão (STDERR).
Neste cenário, o redireccionamento não funciona no processo subordinado WOW64. Por conseguinte, quaisquer aplicações ou serviços que dependem da funcionalidade de redireccionamento não funcionam.
Causa
Existem dois blocos de ambiente de processo (PEBs) para cada processo WOW64child. Um PEB é utilizada para os processos de 64 bits e a outra PEB é utilizado para processos de 32 bits em execução no ambiente de emulação WOW64.
A função CreateProcessWithTokenW só duplica as alças para STDIN, STDOUT e STDERR do processo principal para o PEB para processos de 64 bits. No entanto, esta função não duplicar estas alças para PEB para processos de 32 bits em execução no ambiente de emulação WOW64. Este comportamento faz com que o processo subordinado que está em execução sob WOW64 para conseguir utilizar as alças redireccionadas. Por conseguinte, os redireccionamentos falharem.Resolução
Informações sobre correção
Existe uma correção suportada pela Microsoft. No entanto, esta correcção destina-se apenas a corrigir o problema descrito neste artigo. Aplique esta correção apenas em sistemas que tenham o problema descrito neste artigo. Esta correcção poderá ser submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afetado por este problema, recomendamos que aguarde pela próxima atualização de software que contenha esta correção.
Se a correcção estiver disponível para transferência, existirá uma secção de "Transferência de correcção disponível" na parte superior deste artigo da Base de dados de conhecimento. Se esta secção não for apresentada, contacte o Suporte ao Cliente da Microsoft para obter a correção. Nota Caso ocorram problemas adicionais ou se for necessária a resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos de normais do suporte serão aplicados a questões de suporte adicional e problemas incluídos nesta correção específica. Para uma lista completa dos números de telefone de suporte e serviço de cliente da Microsoft ou para criar um pedido de assistência separado, visite o seguinte Web site da Microsoft:http://support.microsoft.com/contactus/?ws=supportNota O formulário "Transferência de correcção disponível" apresenta os idiomas nos quais a correcção está disponível. Se não visualizar o seu idioma, é porque uma correcção não está disponível para esse idioma.
Pré-requisitos
Para aplicar esta correcção, o computador tem de ter um dos seguintes 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 reinício
Tem de reiniciar o computador depois de aplicar esta correcção.
Informações de registo
Não tem de efectuar qualquer alteração ao registo.
Informações de ficheiro
A versão inglesa (Estados Unidos) desta correcção instala ficheiros que têm os atributos listados nas tabelas seguintes. As datas e horas destes ficheiros são listadas na Hora Universal Coordenada (UTC). As datas e horas destes ficheiros no computador local são apresentadas na hora local em conjunto com a compensação de hora de Verão (DST) atual. Além disso, as datas e horas podem ser alteradas quando são executadas determinadas operações nos ficheiros.
Notas informativas sobre os ficheiros do Windows Vista e Windows Server 2008
Importante Correcções do Windows Vista e as correcções do Windows Server 2008 são incluídas nos pacotes mesmos. No entanto, apenas "Windows Vista" é listado na página de pedido de correcção. Para pedir o pacote de correcções que se aplica a um ou ambos os sistemas operativos, seleccione a correcção listada em "Windows Vista" na página. Consulte a secção "Aplica-se a" nos artigos para determinar o sistema operativo real que cada correcção aplica-se para sempre.
-
Os ficheiros aplicáveis a um produto específico, SR_Level (RTM, SPn) e ramo de serviço (LDR, GDR) podem ser identificados examinando os números de versão do ficheiro, conforme mostrado na seguinte tabela.
Versão
Produto
SR_Level
Ramo de serviço
6.0.600
1. 22 xxxWindows Vista e Windows Server 2008
SP1
LDR
6.0.600
2. 22 xxxWindows Vista e Windows Server 2008
SP2
LDR
-
Service Pack 1 está integrado na versão original do Windows Server 2008.
-
Os ficheiros MANIFEST (. manifest) e MUM (. mum) instalados em cada ambiente é listados em separado na secção "Informações para o Windows Server 2008 e Windows Vista ficheiros adicionais". Os ficheiros MUM e ficheiros de MANIFESTO e os ficheiros de catálogo (. cat) de segurança associados, são extremamente importantes para manter o estado dos componentes actualizados. Os ficheiros de catálogo de segurança, para os quais os atributos não são listados são assinados com uma assinatura digital da Microsoft.
Para todas as versões baseadas em x64 do Windows Server 2008 e do Windows Vista suportadas
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
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 as edições suportadas baseadas em Itanium do Windows Server 2008
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
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 informativas sobre os ficheiros do Windows 7 e Windows Server 2008 R2
Importante Correcções do Windows 7 e Windows Server 2008 R2 correcções são incluídas nos pacotes mesmos. No entanto, as correcções na página de pedido de correcção estão listadas em ambos os sistemas operativos. Para pedir o pacote de correcções que se aplica a um ou ambos os sistemas operativos, seleccione a correcção listada em "Windows 7/Windows Server 2008 R2" na página. Consulte a secção "Aplica-se a" nos artigos para determinar o sistema operativo real que cada correcção aplica-se para sempre.
-
Os ficheiros MANIFEST (. manifest) e MUM (. mum) instalados em cada ambiente é listados em separado na secção "Informações para o Windows Server 2008 R2 e Windows 7 ficheiros adicionais". Ficheiros MUM, MANIFESTO e os ficheiros de catálogo de segurança (. cat) associados, são extremamente importantes para manter o estado dos componentes atualizados. Os ficheiros de catálogo de segurança, para os quais os atributos não são listados são assinados com uma assinatura digital da Microsoft.
Para todas as versões suportadas baseadas em x64 do Windows 7 e do Windows Server 2008 R2
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Seclogon.dll |
6.1.7600.20787 |
30,720 |
21-Aug-2010 |
07:24 |
x64 |
Para todas as versões suportadas baseadas em IA-64 do Windows Server 2008 R2
Nome do ficheiro |
Versão do ficheiro |
Tamanho do ficheiro |
Data |
Hora |
Plataforma |
---|---|---|---|---|---|
Seclogon.dll |
6.1.7600.20787 |
65,024 |
21-Aug-2010 |
06:29 |
IA-64 |
Solução alternativa
Para contornar este problema, chame a função CreateProcessAsUser para criar um processo subordinado.
Estado
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".
Mais informações
Para mais informações sobre a função de CreateProcessWithTokenW , visite o seguinte Web site da Microsoft:
http://msdn.microsoft.com/en-us/library/ms682434(VS.85).aspxPara mais informações sobre a função CreateProcessAsUser , visite o seguinte Web site da Microsoft:
http://msdn.microsoft.com/en-us/library/ms682429(VS.85).aspxPara mais informações, clique no número de artigo seguinte para visualizar o artigo na Base de Dados de Conhecimento Microsoft
824684 descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft
Informações sobre ficheiros adicionais
Informações sobre ficheiros adicionais para o Windows Vista e Windows Server 2008
Ficheiros adicionais para todas as suportadas versões baseadas em x64 do Windows Vista e do Windows Server 2008
Nome do ficheiro |
Amd64_4a7908b357eecad45497e7a614da5ab2_31bf3856ad364e35_6.0.6001.22431_none_eff62086a34ac976.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
713 |
Data (UTC) |
13-May-2009 |
Hora (UTC) |
03:32 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Amd64_e18aeae085cca5f39361c0ace1ecfedf_31bf3856ad364e35_6.0.6002.22134_none_c800fbe0d1aafeca.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
713 |
Data (UTC) |
13-May-2009 |
Hora (UTC) |
03:32 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6001.22431_none_48ed2db26d293c6b.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
7,582 |
Data (UTC) |
12-May-2009 |
Hora (UTC) |
19:30 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6002.22134_none_4ad6a0786a4cdd94.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
7,582 |
Data (UTC) |
12-May-2009 |
Hora (UTC) |
19:25 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Update.mum |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
2,598 |
Data (UTC) |
13-May-2009 |
Hora (UTC) |
03:32 |
Plataforma |
Não aplicável |
Ficheiros adicionais para todas as versões baseadas em IA-64 do Windows Server 2008 suportadas
Nome do ficheiro |
Ia64_23caceaa3d7286a9ff4a23775ef4da54_31bf3856ad364e35_6.0.6002.22134_none_d01b4e8816bf0190.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
711 |
Data (UTC) |
13-May-2009 |
Hora (UTC) |
03:32 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Ia64_68069bedf1d5a4bd9f3dc637561ff507_31bf3856ad364e35_6.0.6001.22431_none_349d44d96d664fea.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
711 |
Data (UTC) |
13-May-2009 |
Hora (UTC) |
03:32 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6001.22431_none_ecd03624b4c9d431.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
7,572 |
Data (UTC) |
12-May-2009 |
Hora (UTC) |
19:14 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6002.22134_none_eeb9a8eab1ed755a.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
7,572 |
Data (UTC) |
12-May-2009 |
Hora (UTC) |
19:07 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Update.mum |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
1,924 |
Data (UTC) |
13-May-2009 |
Hora (UTC) |
03:32 |
Plataforma |
Não aplicável |
Informações sobre ficheiros adicionais para o Windows 7 e Windows Server 2008 R2
Ficheiros adicionais para todas as suportadas versões baseadas em x64 do Windows 7 e do Windows Server 2008 R2
Nome do ficheiro |
Amd64_445df96a83014fe57068b08a79da6683_31bf3856ad364e35_6.1.7600.20787_none_20591bc8c261086c.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
713 |
Data (UTC) |
21-Aug-2010 |
Hora (UTC) |
12:03 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.1.7600.20787_none_48e4f3e3ce639760.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
4,810 |
Data (UTC) |
21-Aug-2010 |
Hora (UTC) |
08:37 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Update.mum |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
1,886 |
Data (UTC) |
21-Aug-2010 |
Hora (UTC) |
12:03 |
Plataforma |
Não aplicável |
Ficheiros adicionais para todas as versões baseadas em IA-64 do Windows Server 2008 R2 suportadas
Nome do ficheiro |
Ia64_a48ab9ecdf2f4b1206e2ae93b7bb6a43_31bf3856ad364e35_6.1.7600.20787_none_172788f1fbdb93a7.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
711 |
Data (UTC) |
21-Aug-2010 |
Hora (UTC) |
12:03 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.1.7600.20787_none_ecc7fc5616042f26.manifest |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
4,808 |
Data (UTC) |
21-Aug-2010 |
Hora (UTC) |
08:17 |
Plataforma |
Não aplicável |
Nome do ficheiro |
Update.mum |
Versão do ficheiro |
Não aplicável |
Tamanho do ficheiro |
1,684 |
Data (UTC) |
21-Aug-2010 |
Hora (UTC) |
12:03 |
Plataforma |
Não aplicável |