文章編號: 924449 - 上次校閱: 2007年6月27日 - 版次: 4.8

FIX: 您可能會遇到各種問題,在執行 Windows Server 2003 或 Windows Server 2003 SP1 的雙核心 Intel Itanium 2 處理器 9000 數列基礎電腦上的原生的使用者模式或核心模式的應用程式或驅動程式執行時

可以下載 Hotfix下載 Hotfix
檢視和要求下載 hotfix
系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。
注意事項
Microsoft 為一個可下載檔案散佈 Microsoft Windows Server 2003 修正程式。因為修正程式是累積,每個新版本包含所有 Hotfix 及先前的 Windows Server 2003 隨附所有安全性修正程式都修正發行。

在此頁中

全部展開 | 全部摺疊
本文將告訴您下列關於此 Hotfix 版本:
  • 此 Hotfix 套件所修正的問題
  • 安裝 Hotfix 套件的先決條件
  • 是否之後,您必須重新啟動電腦安裝 Hotfix 套件的相關資訊
  • 是否 Hotfix 套件就會取代任何其他 Hotfix 套件的相關資訊
  • 您必須在是否做任何登錄變更的相關資訊
  • 包含在 Hotfix 套件中的檔案

徵狀

您有 Windows Server 2003 或 Windows Server 2003 與服務封包 1 (SP1) 雙核心 Intel Itanium 2 處理器 9000 數列基礎的電腦上執行。在這台電腦上執行原生使用者模式或核心模式的應用程式或驅動程式時, 可能會遇到各種問題。比方說堆疊可能已損毀,且然後可能會發生不正確的指示例外狀況。 此外,您可能會遇到隨機的程式碼執行。

如果下列情況成立,就會發生這個問題:
  • 應用程式和驅動程式被編譯為原本就會在雙核心 Intel Itanium 2 處理器 9000 數列為基礎平台上執行。
  • 藉由使用隨附於下列程式的編譯器所建立的應用程式和驅動程式:
    • Windows Server 2003 裝置驅動程式套件 (DDK)
    • Windows Server 2003 SP1 DDK
    • Windows Server 2003 軟體開發套件 (SDK)
    • Windows Server 2003 SP1 SDK
    • Windows Server 2003 R2 SDK

發生的原因

被分頁錯誤中斷以特定的順序指示的相對於 speculation,就會發生這個問題。

解決方案

Hotfix 資訊

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果沒有出現此區段,將要求提交到 Microsoft 客戶服務及支援],以取得該 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support (http://support.microsoft.com/contactus/?ws=support)
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。

您應該在其上您使用編譯器所列出的單元 < 徵狀 > 一節來編譯應用程式和驅動程式的系統套用此 Hotfix。這些應用程式和驅動程式可以是從 x 86 平台編譯交叉] 或 [原本就已編譯。

如果使用 Microsoft Visual Studio 2005 編譯這些驅動程式和應用程式不應該套用此 Hotfix。此外,如果您注意到您的驅動程式和應用程式沒有這個問題,您應該不套用此 Hotfix 您在其編譯這些驅動程式和應用程式的系統上。

附註Microsoft Visual Studio.NET 2002年並不包含的 Itanium 架構型編譯器。如需詳細資訊請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/ms952405.aspx (http://msdn2.microsoft.com/en-us/library/ms952405.aspx)
此外,如果您開發在 Windows Server 2003 應用程式的 Itanium 系統,您必須使用 Windows Server 2003 服務封包 1 SDK。Microsoft 現在只支援 Windows Server 2003 服務封包 1 SDK。

使用列出的編譯器的廠商在 < 徵狀 > 一節要編譯的應用程式或驅動程式的區段應該請遵循下列步驟:
  1. 套用 Hotfix 及指令碼。
  2. 執行指令檔和指令碼。
  3. 根據指令碼結果,重新編譯任何受影響的應用程式或驅動程式。
  4. 告訴客戶他們就必須有這些 recompiled 二進位碼檔案,是否客戶會在雙核心 Intel Itanium 2 處理器 9000 數列型電腦上使用應用程式或驅動程式。
  5. 散佈任何 recompiled 應用程式或客戶的驅動程式。
最後,廠商應該使用這個編譯器 Hotfix 所有未來的 Hotfix 和其目前與未來產品的變更。如果廠商不會套用此 Hotfix,Hotfix 的原始程式碼變更或加入新功能的變更可能會導致編譯器來建立有弱點的一連串的指示。廠商應該使用此 Hotfix,直到 Microsoft 釋出下一個版本的受支援的 DDK 和 SDK。這個版本應該是在 Windows Server 2008 Windows 開發套件 (WDK)。

必要條件

您必須具備之前套用這個 Hotfix 安裝下列元件:
  • Windows Server 2003 SP1
  • Windows Server 2003 SP1 DDK、 Windows Server 2003 SP1 SDK 或 Windows Server 2003 R2 SDK
如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
889100? (http://support.microsoft.com/kb/889100/ ) 如何取得最新的 Service Pack 的 Windows Server 2003

重新啟動資訊

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

Hotfix 取代資訊

此 Hotfix 不會取代任何其他的 Hotfix。

檔案資訊

此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用在 [日期及時間 中項目控制台中的 [時區] 索引標籤]。
摺疊此表格展開此表格
檔案名稱檔案版本檔案大小日期時間平台
C2.dll14.0.40310.466,802,9442006 年八月 21 日02: 26IA 64
C2.dll14.0.40310.462,338,8162006 年八月 23 日02: 29x86
附註Hotfix 檔案的兩個版本都包含在該 Hotfix。x 86 Hotfix 檔案為 x 86 交叉-編譯器。Itanium 原生編譯器為 IA-64 基的 Hotfix 檔案。

Microsoft 並不打算放開 Windows Server 2003 Service Pack 2 (SP2) DDK 或 Windows Server 2003 SP2 SDK。直到 Microsoft 釋放 Windows Server 2008 DDK 和 Windows Server 2008 SDK Microsoft 只將 Windows Server 2003 SP1 DDK、 Windows Server 2003 SP1 SDK,及 Windows Server 2003 R2 SDK 支援此 Hotfix。

此 Hotfix 的使用方式

您必須判斷此問題影響您的應用程式或您在雙核心 Intel Itanium 2 處理器系統上的驅動程式。如果這個問題會影響您的應用程式或驅動程式,請您在其編譯這些應用程式和驅動程式的系統上套用此 Hotfix。然後,重新編譯應用程式或驅動程式。

若要使用檢查指令碼的需求

您必須具備下列工具和使用檢查指令碼的檔案:
  • Microsoft 反組譯工具 1.50 工具 (Msdis150.dll)

    使用預設設定安裝 Windows Server 2003 SP1 SDK 或 Windows Server 2003 R2 SDK 時已安裝 Microsoft 反組譯工具 1.50 工具。預設情況下,Microsoft 反組譯工具 1.50 工具被安裝在下列資料夾:
    C:\Program Files\Microsoft 平台 SDK\Bin\win64
  • 在 Microsoft C/C + + 編譯器最佳化為 IA-64

    當您使用 [預設設定,以安裝 Windows Server 2003 SP1 SDK、 Windows Server 2003 SP1 DDK 或 Windows Server 2003 R2 SDK 也安裝 Microsoft C/C + + 最佳化編譯器針對 IA-64。
  • Hotfix 封裝中包含的.cmd 檔案

    這些.cmd 檔指令碼判斷您的應用程式或驅動程式遇到的問題。

如何使用檢查指令碼

如果要判斷是否受到影響的應用程式或驅動程式,請依照下列步驟執行:
  1. 硬碟上建立資料夾。這些步驟假設資料夾名稱是 C2UPDATE。
  2. 開啟您指定當您套用此 Hotfix 的 Windows Server 2003 DDK] 和 [SDK 更新資料夾。
  3. 將 VSW#500862.cmd 檔案和 VSW#500862.js 檔案從 Windows Server 2003 DDK] 和 [SDK 更新資料夾複製到 [C2UPDATE 資料夾。

    附註VSW#500862.cmd 檔案傾印反組譯碼的參數清單中所指定的檔案。VSW#500862.js 檔案掃描 VSW#500862.cmd 檔案會為特定的易受攻擊組的指示建立反組譯碼。
  4. 將您的應用程式或驅動程式的所有檔案都複製到 C2UPDATE 資料夾中。
  5. 找出可以產生針對您的應用程式或驅動程式,反組譯碼並再將這些.pdb 檔案複製到 [C2UPDATE 所有.pdb 檔案資料夾。
  6. 在建置環境中,找出 C2UPDATE 資料夾。

    在 Windows Server 2003 SP1 SDK,按一下 [開始]、 指向 [所有程式、 都指向 Microsoft 平台 SDK 的 Windows Server 2003 SP1、 都指向 [開啟舊檔建置環境視窗、 都指向 [Windows Server 2003 64 位元建置環境,和再按一下 設定 Win Svr 2003 IA64 建置 Env (偵錯) 或按一下 [設定 Win Svr 2003 IA64 建置 Env (零售)
  7. 在命令提示字元下鍵入 VSW#500862.cmd FileList

    附註FileList 代表您想要傾印反組譯碼 VSW#500862.cmd 指令碼檔案的清單。使用空格來分隔檔案名稱。此外,包括每個檔案的副檔名。
第一次,VSW#500862.cmd 指令碼會建立在反組譯碼.cod 檔案。在反組譯碼.cod 檔案將會被大約 VSW#500862.cmd 指令碼處理的檔案的 20 倍大小。

然後,VSW#500862.cmd 指令碼會呼叫 VSW#500862.js 指令碼。VSW#500862.js 指令碼會掃描包含特定易受攻擊組的指示的函式的反組譯碼。完成掃描時 VSW#500862.cmd 指令碼會顯示輸出至畫面。您可能會收到類似 following:
C:\C2Update>vsw#500862.cmd win32k.sys win23k.sys*** win32k.sys ***win32k.sys:  20000001FF0290D0:.ThreadUnlock1win32k.sys:  20000001FF23B0F0:.?bPolyBezierTo@EPATHOBJ@@QEAAHPEAVEXFORMOBJ@@PEAU_POINTL@@K@Zwin32k.sys:  20000001FF2402D0:.?vSetClip@EWNDOBJ@@QEAAXPEAVREGION@@VERECTL@@@Zwin32k.sys:  20000001FF2B9040:.?bTextToPathWorkhorse@ESTROBJ@@QEAAHAEAVEPATHOBJ@@H@Zwin32k.sys:  20000001FF453110:.vCheckForSingularXform*** win23k.sys ***win23k.sys:  20000001FF0290D0:.ThreadUnlock1win23k.sys:  20000001FF23B0F0:.?bPolyBezierTo@EPATHOBJ@@QEAAHPEAVEXFORMOBJ@@PEAU_POINTL@@K@Zwin23k.sys:  20000001FF2402D0:.?vSetClip@EWNDOBJ@@QEAAXPEAVREGION@@VERECTL@@@Zwin23k.sys:  20000001FF2B9040:.?bTextToPathWorkhorse@ESTROBJ@@QEAAHAEAVEPATHOBJ@@H@Zwin23k.sys:  20000001FF453110:.vCheckForSingularXform
備忘稿
  • VSW#500862.cmd 指令碼,依序反組譯、 掃描,並將輸出每個在 FileList 參數中指定的檔案的結果。直到指令碼處理先前的檔案,指令碼並不處理後續的檔案 FileList 參數中。
  • 當 VSW#500862.cmd 指令碼建立反組譯碼,並執行後續掃描時,處理程序可能需要大量的時間。此外,處理程序可能會造成幾乎 CPU 使用率達 100%的單一處理器。 因此,做不輸入 CTRL C,或使用 Windows 工作管理員 」 停止 VSW#500862.cmd 指令碼或 VSW#500862.js 指令碼,直到完成 FileList 中最後一個檔案的反組譯碼。

    如需有關如何使用 VSW#500862.cmd 指令碼和 VSW#500862.js 指令碼的詳細資訊,請參閱隨附於 Hotfix 套件中對應檔]。
  • 您沒有套用 IA-64 編譯器 (C2.dll) Hotfix,以判斷此問題影響您的應用程式或驅動程式。
預設情況下,IA-64 編譯器 Hotfix 安裝在下列資料夾:
C:\Program Files\MSFT\Windows Server 2003 DDK 及 SDK 更新
但是,您可以在不同的資料夾,在電腦上安裝 Windows Server 2003 SP1 DDK、 Windows Server 2003 SP1 SDK 或 Windows Server 2003 R2 SDK。

位於 Windows Server 2003 DDK] 和 [SDK 更新資料夾中的 Readme.txt 檔案包含有關如何判斷您使用 [C2.dll 檔案的檔案版本的指示。您取得 C2.dll 檔案版本之後您可以使用 [Windows Server 2003 DDK] 和 [SDK 更新資料夾中適當的編譯器 Hotfix 版本 (C2.dll) 來取代原始的 C2.dll 檔案。

此 Hotfix 具有沒有額外的功能。Hotfix 不包含任何效能最佳化。 此外,沒有交互操作性問題存在並不需要重新編譯的檔案會重新編譯的檔案之間。

如果這個問題會影響您的應用程式或驅動程式中的某些檔案,我們建議您重新編譯這些檔案。這個步驟可以改善可靠性的那些檔案。這個步驟也可以改善應用程式或驅動程式,將這些檔案包含的可靠性。

這個問題並不存在於 IA-64 編譯器的較新版本。其中的相關資訊版本 IA-64 編譯器遇到這個問題,請參閱 [Windows Server 2003 DDK] 和 [SDK 更新] 資料夾中的 [Readme.txt 檔案。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。

其他相關資訊

如需有關軟體更新術語的詳細資訊,按一下 [下面的文件編號,檢視 「 Microsoft 知識庫 」 中的發行項]:
824684? (http://support.microsoft.com/kb/824684/ ) 用來描述 Microsoft 軟體更新標準術語的說明
如需更多有關資訊概觀的 Windows Server 2003 的 Itanium 系統,請造訪下列 MSDN 網站:
http://www.microsoft.com/servers/64bit/itanium/overview.mspx (http://www.microsoft.com/servers/64bit/itanium/overview.mspx)

這篇文章中的資訊適用於:
  • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
  • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
  • Microsoft Windows Server 2003 Service Pack 1?應用於:
    • Microsoft Windows Server 2003, Enterprise Edition for Itanium-based Systems
    • Microsoft Windows Server 2003, Datacenter Edition for Itanium-Based Systems
關鍵字:?
kbmt kbautohotfix kbhotfixserver kbpubtypekc kbexpertiseadvanced kbqfe kbfix KB924449 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:924449? (http://support.microsoft.com/kb/924449/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。