STDIN, STDOUT şi STDERR redirectionarile nu funcționează într-un proces de fiu WOW64 dacă funcția CreateProcessWithTokenW creează procesul fiu

Se aplică la: Windows Server 2008 for Itanium-Based SystemsWindows Server 2008 DatacenterWindows Server 2008 Enterprise

Simptome


Să luăm în considerare următorul scenariu:
  • Aveți un computer care execută o versiune de 64 de biți de Windows Server 2008, Windows Vista, Windows 7 sau Windows Server 2008 R2.
  • Pe acest computer, un proces apelează funcția CreateProcessWithTokenW pentru a crea un proces de copil, care se execută sub Windows pe 32 de biți de Windows pe 64 de biți (WOW64).
  • Procesul de fiu WOW64 este creat pentru a redirecționați intrare standard (STDIN), Ieșire standard (STDOUT) și eroarea standard (STDERR).
În acest scenariu, redirectionarile nu funcționează în procesul de fiu WOW64. De aceea, toate aplicațiile sau serviciile care depind de caracteristica redirecționare nu funcționează.

Cauza


Există două procesul mediu blocuri (BSV) pentru fiecare proces WOW64child. O PEB este utilizat pentru procesele de 64 de biți și alte PEB este utilizat pentru 32-bit procesele care se execută sub mediul de emulare WOW64.

Funcția CreateProcessWithTokenW numai duplicate handle-uri pentru STDIN, STDOUT şi STDERR din procesul de părinte pentru PEB pentru procesele de 64 de biți. Cu toate acestea, această funcție nu dublează aceste handle-uri pentru PEB pentru 32-bit procesele care se execută sub mediul de emulare WOW64. Acest comportament determină procesul fiu care se execută sub WOW64 pentru a putea utiliza handle-uri redirectat. De aceea, nu redirections.

Rezolvare


Informații despre remedierea rapidă

O remediere rapidă compatibilă este disponibilă de la Microsoft. Cu toate acestea, scopul său este de a corecta numai problema descrisă în acest articol. Aplicați această remediere rapidă numai pentru sistemele care întâmpină problema descrisă în acest articol. Această remediere rapidă poate să necesite testare suplimentară. De aceea, dacă nu sunteți grav afectat de această problemă, vă recomandăm să aşteptaţi următoarea actualizare software care conţine această remediere rapidă.

Dacă remedierea rapidă este disponibilă pentru descărcare, există o secțiune "Descărcare remediere rapidă disponibilă" în partea de sus a acestui articol din baza de cunoștințe. Dacă nu apare această secţiune, contactaţi Microsoft Client Service și suport pentru a obţine remedierea rapidă.

Notă Dacă se produc probleme suplimentare sau este necesară depanarea, poate fi necesar să creați o solicitare de asistenţă separată. Costurile de obicei pentru suport se vor aplica pentru sprijin suplimentar, întrebări și probleme care nu sunt specifice pentru această remediere rapidă . Pentru o listă completă cu numerele de telefon ale clienților servicii și asistență Microsoft sau pentru a crea o solicitare de asistenţă separată, vizitați următorul site Web Microsoft:Notă Formularul "Descărcare remediere rapidă disponibilă" afişează limbile pentru care este disponibilă remedierea rapidă. Dacă nu vedeți limba dvs., înseamnă că o remediere rapidă nu este disponibilă pentru respectiva limbă.

Cerințe preliminare

Pentru a aplica această remediere rapidă, computerul trebuie să execute unul dintre următoarele sisteme de operare:
  • 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

Cerinţă de repornire

Trebuie să reporniți computerul după aplicarea acestei remedieri rapide.

Informații despre registry

Nu trebuie să efectuați modificări în registry.

Informații despre fișier

Versiunea în limba engleză (Statele Unite) a acestei remedieri rapide instalează fișierele care au atributele enumerate în tabelele următoare. Datele şi orele pentru aceste fişiere sunt exprimate în Timpul universal (UTC). Datele și orele pentru aceste fișiere pe computerul local sunt afișate în ora locală, luându-se în calcul decalajul actual pentru ora de vară (DST). În plus, datele şi orele se pot modifica atunci când efectuaţi anumite operaţiuni asupra fişierelor.
Windows şi Windows Server 2008 note de informare fișier
Important Remedierile rapide Windows Vista și Windows Server 2008 remedierile rapide sunt incluse în aceleași pachete. Cu toate acestea, numai "Windows Vista" este listat în pagina solicitare remediere rapidă. Pentru a solicita pachetul de remediere rapidă care se aplică la unul sau ambele sisteme de operare, selectați remedierea rapidă listată sub "Windows Vista" pe pagina. Consultați întotdeauna secțiunea "Se aplică la" din articole pentru a determina sistemul de operare efectiv la care se aplică fiecare remediere rapidă.
  • Fișierele care se aplică la un anumit produs, SR_Level (RTM, SPn), și ramură de servicii (LDR, GDR) pot fi identificate examinând numerele de versiune ale fișierelor, așa cum se arată în tabelul următor.
    VersiuneProdusSR_LevelRamură de servicii
    6.0.600
    1.
    22 xxx
    Windows Vista și Windows Server 2008SP1LDR
    6.0.600
    2.
    22 xxx
    Windows Vista și Windows Server 2008SP2LDR
  • Service Pack 1 este integrat în versiunea de Windows Server 2008.
  • Fişierele MANIFEST (.manifest) și MUM (.mum) care sunt instalate pentru fiecare mediu sunt listate separat în secțiunea "Informații pentru Windows Server 2008 și pentru Windows Vista suplimentare de fișier". Fișierele MUM și fișierele MANIFEST și fișierele catalog (.cat) de securitate asociate, sunt foarte importante pentru menținerea stării componentelor actualizate. Fişierele catalog de securitate, pentru care nu sunt listate atributele, sunt semnate cu o semnătură digitală Microsoft.
Pentru toate versiunile x64 bazat pe Windows Server 2008 şi Windows Vista
Nume de fișierVersiune fișierDimensiune fișierDataOraPlatformă
Seclogon.dll6.0.6001.2243129,18412-May-200916:06x64
Seclogon.dll6.0.6002.2213429,18412-May-200915:41x64
Pentru toate versiunile bazate pe Itanium de Windows Server 2008
Nume de fișierVersiune fișierDimensiune fișierDataOraPlatformă
Seclogon.dll6.0.6001.2243157,85612-May-200915:46IA-64
Seclogon.dll6.0.6002.2213457,85612-May-200915:33IA-64
Note privind informațiile despre fișierele pentru Windows 7 și Windows Server 2008 R2
Important Remedierile rapide pentru Windows 7 și Windows Server 2008 R2 sunt incluse în aceleași pachete. Cu toate acestea, remedierile rapide de pe pagina Solicitare remediere rapidă sunt listate sub ambele sisteme de operare. Pentru a solicita pachetul de remediere rapidă care se aplică la unul sau ambele sisteme de operare, selectați remedierea rapidă listată în pagină sub "Windows 7/Windows Server 2008 R2". Consultați întotdeauna secțiunea "Se aplică la" din articole pentru a determina sistemul de operare efectiv la care se aplică fiecare remediere rapidă.
  • Fişierele MANIFEST (.manifest) și MUM (.mum) care sunt instalate pentru fiecare mediu sunt listate separat în secțiunea "Informații pentru Windows Server 2008 R2 şi Windows 7 suplimentare de fișier". MUM şi MANIFEST fișiere și fișierele catalog (.cat) de securitate asociate, sunt foarte importante pentru menținerea stării componentelor actualizate. Fişierele catalog de securitate, pentru care nu sunt listate atributele, sunt semnate cu o semnătură digitală Microsoft.
Pentru toate versiunile Windows 7 și Windows Server 2008 R2 x64 acceptate
Nume de fișierVersiune fișierDimensiune fișierDataOraPlatformă
Seclogon.dll6.1.7600.2078730,72021-Aug-201007:24x64
Pentru toate versiunile IA-64 de Windows Server 2008 R2
Nume de fișierVersiune fișierDimensiune fișierDataOraPlatformă
Seclogon.dll6.1.7600.2078765,02421-Aug-201006:29IA-64

Soluție


Pentru a rezolva această problemă, apelați funcția CreateProcessAsUser pentru a crea un proces copilului.

Stare


Microsoft a confirmat că aceasta este o problemă cu produsele Microsoft enumerate în secţiunea „Se aplică la".

Mai multe informații


Pentru mai multe informaţii despre funcţia CreateProcessWithTokenW , vizitați următorul site Web Microsoft:Pentru mai multe informaţii despre funcţia CreateProcessAsUser , vizitați următorul site Web Microsoft:Pentru mai multe informaţii, faceţi clic pe următorul număr de articol pentru a vedea articolul în baza de cunoştinţe Microsoft:

824684 Descrierea terminologiei standard care este utilizat pentru a descrie actualizările de software Microsoft


Informații despre fișierele suplimentare

Informații suplimentare despre fișiere pentru Windows Vista și Windows Server 2008

Fișiere suplimentare pentru toate versiunile bazate pe x64 de Windows Vista și Windows Server 2008
Nume de fișierAmd64_4a7908b357eecad45497e7a614da5ab2_31bf3856ad364e35_6.0.6001.22431_none_eff62086a34ac976.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier713
Dată (UTC)13-May-2009
Ora (UTC)03:32
PlatformăNu este aplicabil
Nume de fișierAmd64_e18aeae085cca5f39361c0ace1ecfedf_31bf3856ad364e35_6.0.6002.22134_none_c800fbe0d1aafeca.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier713
Dată (UTC)13-May-2009
Ora (UTC)03:32
PlatformăNu este aplicabil
Nume de fișierAmd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6001.22431_none_48ed2db26d293c6b.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier7,582
Dată (UTC)12-May-2009
Ora (UTC)19:30
PlatformăNu este aplicabil
Nume de fișierAmd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6002.22134_none_4ad6a0786a4cdd94.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier7,582
Dată (UTC)12-May-2009
Ora (UTC)19:25
PlatformăNu este aplicabil
Nume de fișierUpdate.mum
Versiune fișierNu este aplicabil
Dimensiune fișier2,598
Data (UTC)13-May-2009
Ora (UTC)03:32
PlatformăNu este aplicabil
Fișiere suplimentare pentru toate versiunile IA-pe 64 de biți de Windows Server 2008
Nume de fișierIa64_23caceaa3d7286a9ff4a23775ef4da54_31bf3856ad364e35_6.0.6002.22134_none_d01b4e8816bf0190.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier711
Dată (UTC)13-May-2009
Ora (UTC)03:32
PlatformăNu este aplicabil
Nume de fișierIa64_68069bedf1d5a4bd9f3dc637561ff507_31bf3856ad364e35_6.0.6001.22431_none_349d44d96d664fea.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier711
Dată (UTC)13-May-2009
Ora (UTC)03:32
PlatformăNu este aplicabil
Nume de fișierIa64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6001.22431_none_ecd03624b4c9d431.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier7,572
Dată (UTC)12-May-2009
Ora (UTC)19:14
PlatformăNu este aplicabil
Nume de fișierIa64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6002.22134_none_eeb9a8eab1ed755a.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier7,572
Dată (UTC)12-May-2009
Ora (UTC)19:07
PlatformăNu este aplicabil
Nume de fișierUpdate.mum
Versiune fișierNu este aplicabil
Dimensiune fișier1,924
Dată (UTC)13-May-2009
Ora (UTC)03:32
PlatformăNu este aplicabil

Informații despre fișierelele suplimentare pentru Windows 7 și Windows Server 2008 R2

Fișiere suplimentare pentru toate versiunile de Windows 7 și Windows Server 2008 R2 x64 acceptate
Nume de fișierAmd64_445df96a83014fe57068b08a79da6683_31bf3856ad364e35_6.1.7600.20787_none_20591bc8c261086c.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier713
Data (UTC)21-Aug-2010
Ora (UTC)12:03
PlatformăNu este aplicabil
Nume de fișierAmd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.1.7600.20787_none_48e4f3e3ce639760.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier4,810
Dată (UTC)21-Aug-2010
Ora (UTC)08:37
PlatformăNu este aplicabil
Nume de fișierUpdate.mum
Versiune fișierNu este aplicabil
Dimensiune fișier1,886
Data (UTC)21-Aug-2010
Ora (UTC)12:03
PlatformăNu este aplicabil
Fișiere suplimentare pentru toate versiunile IA-pe 64 de biți de Windows Server 2008 R2
Nume de fișierIa64_a48ab9ecdf2f4b1206e2ae93b7bb6a43_31bf3856ad364e35_6.1.7600.20787_none_172788f1fbdb93a7.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier711
Data (UTC)21-Aug-2010
Ora (UTC)12:03
PlatformăNu este aplicabil
Nume de fișierIa64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.1.7600.20787_none_ecc7fc5616042f26.manifest
Versiune fișierNu este aplicabil
Dimensiune fișier4,808
Data (UTC)21-Aug-2010
Ora (UTC)08:17
PlatformăNu este aplicabil
Nume de fișierUpdate.mum
Versiune fișierNu este aplicabil
Dimensiune fișier1,684
Data (UTC)21-Aug-2010
Ora (UTC)12:03
PlatformăNu este aplicabil