STDIN、 STDOUT 和 STDERR 重新導向如果就無法使用在 WOW64 子處理序中的 CreateProcessWithTokenW 函式會建立子處理序

適用於: Windows Server 2008 for Itanium-Based SystemsWindows Server 2008 DatacenterWindows Server 2008 Enterprise

狀況


請考慮下列情況:
  • 您必須執行 Windows Server 2008、 Windows Vista、 Windows 7 或 Windows Server 2008 R2 的 64 位元版的電腦。
  • 在這台電腦,處理程序會呼叫CreateProcessWithTokenW函式來建立子處理序在 Windows 64 位元 (WOW64) 上執行 Windows 32 位元。
  • WOW64 子處理序會建立來重新導向標準輸入 (STDIN)、 標準的輸出 (STDOUT) 和標準錯誤 (STDERR)。
在這個案例中,重新導向不是在 WOW64 子處理序。因此,所有的應用程式或重新導向功能而定的服務無法運作。

原因


有兩個處理程序的環境區塊 (PEBs) 給每個 WOW64child 程序。一 PEB 用於 64 位元處理程序,而且其他的 PEB 是 WOW64 模擬的環境下執行的 32 位元處理程序。

CreateProcessWithTokenW函式只會複製控點 STDIN、 STDOUT,和 STDERR 從父處理序以 64 位元處理程序 PEB。不過,這個函式不會重複這些控點以 WOW64 模擬的環境下執行的 32 位元處理程序 PEB。這個行為會造成無法使用重新導向的控點的 WOW64 下執行的子處理程序。因此,重新導向會失敗。

解決方案


Hotfix 資訊

支援的 hotfix 可從 Microsoft 取得。不過,此 hotfix 被用來修正本文所述的問題。此 hotfix 只適用於發生本文所述之問題的系統。此 hotfix 可能會接受其他測試。因此,如果此問題的影響不會很嚴重,我們建議您等候含此 hotfix 的下一版軟體更新。

如果 hotfix 可供下載,在此知識庫文件頂端將出現「可用的 Hotfix」區段。如果這個區段沒有出現,請連絡 Microsoft 客戶服務及支援以取得 hotfix。

注意如果發生其他問題,或如果需要進行疑難排解,您可能必須建立個別的服務要求。收取支援費用會套用到其他支援問題和此特定 hotfix 無法解決的問題。如 Microsoft 客戶服務及支援的電話號碼或建立個別的服務要求的完整清單,請造訪下列 Microsoft 網站︰注意「 下載 Hotfix 」 表單會顯示 hotfix 可用的語言。如果看不到您的語言,是因為未提供該語言的 Hotfix 。

先決條件

若要套用此 hotfix,您的電腦必須執行下列作業系統其中一項︰
  • Windows Vista Service Pack 1 (SP1)
  • Windows Vista Service Pack 2 (SP2)
  • Windows 2008 Server
  • Windows Server 2008 Service Pack 2 (SP2)
  • Windows 7
  • Windows Server 2008 R2

重新啟動需求

套用此 hotfix 後,您必須重新啟動電腦。

登錄資訊

您沒有對登錄進行任何變更。

檔案資訊

此 hotfix 的英文 (美國) 版會安裝具有下列表格中所列的屬性的檔案。這些檔案的日期和時間均以國際標準時間 (UTC) 列出。本機電腦上這些檔案是以您當地的時間與目前的日光節約時間 (DST) 的時差來顯示日期和時間。此外,當您在檔案上執行特定作業時,日期和時間可能會變更。
Windows Vista 和 Windows Server 2008 的檔案資訊筆記
重要Windows Vista hotfix 及 Windows Server 2008 hotfix 隨附在相同的套件中。不過,只有 「 Windows Vista"會列在 Hotfix 要求] 頁面。若要要求 hotfix 套件套用至一或兩個作業系統,選取列在 「 Windows Vista",在頁面的 hotfix。永遠參考文件的〈套用〉一節以判斷實際套用每個 hotfix 的作業系統。
  • 藉由檢查的檔案版本號碼,如下列表格所示,可以識別套用至特定產品、 SR_Level (RTM、 SPn) 及服務分支 (LDR、 GDR) 的檔案。
    版本產品SR_Level服務分支
    6.0.600
    1.
    22xxx
    Windows Vista 和 Windows Server 2008SP1LDR
    6.0.600
    2.
    22xxx
    Windows Vista 和 Windows Server 2008SP2LDR
  • Service Pack 1 已整合至 Windows Server 2008 的發行版本。
  • 資訊清單檔案 (.manifest) 及菊檔案 (.mum) 所安裝的每個環境都 < 其他檔案和="" windows="" vista="" 的="" windows="" server="" 2008="" 資訊=""> 一節中的 [分別列出。MUM 的檔案及資訊清單檔案,以及相關的安全性類別目錄 (.cat) 檔案中,是非常重要的事維護更新元件的狀態。安全性類別目錄檔案 (將不會為其列出屬性) 是使用 Microsoft 數位簽章簽署的。
對於所有支援 Windows Server 2008 和 Windows Vista 的 x64 版本
檔案名稱檔案版本檔案大小日期時間平台
Seclogon.dll6.0.6001.2243129,18412-May-200916:06x64
Seclogon.dll6.0.6002.2213429,18412-May-200915:41x64
對於所有支援的 Windows Server 2008 的 itanium 型版本
檔案名稱檔案版本檔案大小日期時間平台
Seclogon.dll6.0.6001.2243157,85612-May-200915:46IA-64
Seclogon.dll6.0.6002.2213457,85612-May-200915:33IA-64
Windows 7 和 Windows Server 2008 R2 檔案資訊附註
重要Windows 7 hotfix 及 Windows Server 2008 R2 hotfix 隨附在相同的套件中。不過,在 [Hotfix 要求] 頁面上的 Hotfix 會在這兩個作業系統下列出。若要要求套用至一或兩個作業系統的 Hotfix 套件,請選取此頁面上列在 Windows 7/Windows Server 2008 R2 之下的 Hotfix。永遠參考文件的〈套用〉一節以判斷實際套用每個 hotfix 的作業系統。
  • 為每個環境所安裝的 MANIFEST 檔案 (.manifest) 及 MUM 檔案 (.mum) 都分別列在「Windows Server 2008 R2 和 Windows 7 的其他檔案資訊」一節。MUM 及 MANIFEST 檔案,以及相關的安全性目錄 (.cat) 檔案,對維護更新元件的狀態非常重要。安全性類別目錄檔案 (將不會為其列出屬性) 是使用 Microsoft 數位簽章簽署的。
適用於所有支援的 Windows 7 和 Windows Server 2008 R2 x64 版本
檔案名稱檔案版本檔案大小日期時間平台
Seclogon.dll6.1.7600.2078730,72021-Aug-201007:24x64
適用於所有支援的 Windows Server 2008 R2 IA 64 版本
檔案名稱檔案版本檔案大小日期時間平台
Seclogon.dll6.1.7600.2078765,02421-Aug-201006:29IA-64

因應措施


若要解決這個問題,請呼叫CreateProcessAsUser函式,若要建立子處理序。

狀態


Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

更多的資訊


如需有關CreateProcessWithTokenW函式的詳細資訊,請造訪下列 Microsoft 網站︰如需有關CreateProcessAsUser函式的詳細資訊,請造訪下列 Microsoft 網站︰如需詳細資訊,按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

用來描述 Microsoft 軟體更新標準術語的編號 824684描述


其他檔案資訊

和 Windows Server 2008 的 Windows Vista,會產生額外的檔案資訊。

所有支援 x64 型版本的 Windows Vista 及 Windows Server 2008 的其他檔案
檔案名稱Amd64_4a7908b357eecad45497e7a614da5ab2_31bf3856ad364e35_6.0.6001.22431_none_eff62086a34ac976.manifest
檔案版本不適用
檔案大小713
日期 (UTC)13-May-2009
時間 (UTC)03:32
平台不適用
檔案名稱Amd64_e18aeae085cca5f39361c0ace1ecfedf_31bf3856ad364e35_6.0.6002.22134_none_c800fbe0d1aafeca.manifest
檔案版本不適用
檔案大小713
日期 (UTC)13-May-2009
時間 (UTC)03:32
平台不適用
檔案名稱Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6001.22431_none_48ed2db26d293c6b.manifest
檔案版本不適用
檔案大小7,582
日期 (UTC)12-May-2009
時間 (UTC)19:30
平台不適用
檔案名稱Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6002.22134_none_4ad6a0786a4cdd94.manifest
檔案版本不適用
檔案大小7,582
日期 (UTC)12-May-2009
時間 (UTC)19:25
平台不適用
檔案名稱Update.mum
檔案版本不適用
檔案大小2,598
日期 (UTC)13-May-2009
時間 (UTC)03:32
平台不適用
支援以 IA64 為基礎的所有版本 Windows Server 2008 的其他檔案
檔案名稱Ia64_23caceaa3d7286a9ff4a23775ef4da54_31bf3856ad364e35_6.0.6002.22134_none_d01b4e8816bf0190.manifest
檔案版本不適用
檔案大小711
日期 (UTC)13-May-2009
時間 (UTC)03:32
平台不適用
檔案名稱Ia64_68069bedf1d5a4bd9f3dc637561ff507_31bf3856ad364e35_6.0.6001.22431_none_349d44d96d664fea.manifest
檔案版本不適用
檔案大小711
日期 (UTC)13-May-2009
時間 (UTC)03:32
平台不適用
檔案名稱Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6001.22431_none_ecd03624b4c9d431.manifest
檔案版本不適用
檔案大小7,572
日期 (UTC)12-May-2009
時間 (UTC)19:14
平台不適用
檔案名稱Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.0.6002.22134_none_eeb9a8eab1ed755a.manifest
檔案版本不適用
檔案大小7,572
日期 (UTC)12-May-2009
時間 (UTC)19:07
平台不適用
檔案名稱Update.mum
檔案版本不適用
檔案大小1,924
日期 (UTC)13-May-2009
時間 (UTC)03:32
平台不適用

適用於 Windows 7 和 Windows Server 2008 R2 的其他檔案資訊

適用於所有支援 Windows 7 和 Windows Server 2008 R2 x64 型版本的其他檔案
檔案名稱Amd64_445df96a83014fe57068b08a79da6683_31bf3856ad364e35_6.1.7600.20787_none_20591bc8c261086c.manifest
檔案版本不適用
檔案大小713
日期 (UTC)21-Aug-2010
時間 (UTC)12:03
平台不適用
檔案名稱Amd64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.1.7600.20787_none_48e4f3e3ce639760.manifest
檔案版本不適用
檔案大小4,810
日期 (UTC)21-Aug-2010
時間 (UTC)08:37
平台不適用
檔案名稱Update.mum
檔案版本不適用
檔案大小1,886
日期 (UTC)21-Aug-2010
時間 (UTC)12:03
平台不適用
適用於所有支援 Windows Server 2008 R2 IA 64 版本的其他檔案
檔案名稱Ia64_a48ab9ecdf2f4b1206e2ae93b7bb6a43_31bf3856ad364e35_6.1.7600.20787_none_172788f1fbdb93a7.manifest
檔案版本不適用
檔案大小711
日期 (UTC)21-Aug-2010
時間 (UTC)12:03
平台不適用
檔案名稱Ia64_microsoft-windows-secondarylogonservice_31bf3856ad364e35_6.1.7600.20787_none_ecc7fc5616042f26.manifest
檔案版本不適用
檔案大小4,808
日期 (UTC)21-Aug-2010
時間 (UTC)08:17
平台不適用
檔案名稱Update.mum
檔案版本不適用
檔案大小1,684
日期 (UTC)21-Aug-2010
時間 (UTC)12:03
平台不適用