FIX: 可能會收到一個 0x800706F7 具有 BSTR 參數的錯誤訊息進行 COM 方法呼叫時

文章翻譯 文章翻譯
文章編號: 895321 - 檢視此文章適用的產品。
重要本文包含有關如何修改登錄的資訊。請確定您修改之前備份登錄。如果發生問題,請確定您知道如何還原登錄。如何備份、 還原,及修改登錄的相關資訊,請按一下下列的文件編號,檢視 Microsoft 知識庫中的文件:
256986Microsoft Windows 登錄的描述
重要本文將告訴您,如何協助較低的安全性設定或如何關閉電腦上的安全性功能的資訊。您可以進行這些變更,解決特定問題。進行這些變更之前,我們建議您先評估在特定環境中實作這項因應措施相關聯的風險。如果您要實作這項因應措施,採用任何其他的適當步驟,以協助保護您的系統。
全部展開 | 全部摺疊

在此頁中

徵狀

當您具有 BSTR,做為參數進行 COM 方法呼叫時,可能會收到類似下列的錯誤訊息:
0x800706F7 (虛設常式接收到錯誤的資料)
比方說您可能會遇到這個問題,當您呼叫 IClassFactory::CreateInstanceLic COM 方法。

發生的原因

如果您封送處理至 Microsoft Windows Server 2003 的電腦或 Microsoft Windows XP 電腦從 Microsoft Windows 2000 電腦 BSTR,就會發生這個問題。沒有額外的驗證 BSTR 的 Windows Server 2003 電腦上和 Windows XP 電腦上的資料。這個額外的驗證可能會使 BSTR 資料似乎無效。

解決方案

Windows Server 2003

服務套件資訊

如果要解決這個問題,取得最新的 Service Pack 的 Windows Server 2003。如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
889100如何取得最新的 Service Pack 的 Windows Server 2003

Hotfix 資訊

必要條件
您必須有 Microsoft Windows Server 2003 Service Pack 1 (SP1) 或 Microsoft Windows XP Service Pack 2 (SP2) 來套用這個 Hotfix 安裝。
重新啟動需求
套用此 Hotfix 之後,您必須重新啟動電腦
Hotfix 取代資訊
此 Hotfix 不會取代任何其他的 Hotfix。
檔案資訊
此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。

Windows Server 2003、 Itanium 架構版本
   Date         Time   Version        Size       File name     Platform
   --------------------------------------------------------------------
   29-Jun-2005  05:57  5.2.3790.2476  3,931,136  Oleaut32.dll  IA-64

Windows Server 2003、 x x64 版本
   Date         Time   Version        Size       File name
   ----------------------------------------------------------
   29-Jun-2005  05:57  5.2.3790.2476  1,116,160  Oleaut32.dll

Windows Server 2003、 x x86 版本
   Date         Time   Version        Size     File name
   --------------------------------------------------------
   29-Jun-2005  05:16  5.2.3790.2476  556,032  Oleaut32.dll

Windows XP

Hotfix 資訊

Microsoft 提供支援的 Hotfix。不過,此 Hotfix 旨在修正本文中所述隨問題。只會發生此特定問題的系統套用此 Hotfix。這個 Hotfix 可能會接受額外的測試。因此,如果您不會嚴重影響這個問題,我們建議您等候下一個包含此 Hotfix 的軟體更新。

如果此 Hotfix 可供下載,您可在本知識庫文件的頂端找到「 可用的 Hotfix 下載 」區段。如果本節 Does Not Appear 請連絡[ Microsoft 客戶服務 ] 和 [ 支援 ] 以取得此 Hotfix。

附註如果發生其他問題,或如果需要任何疑難排解,您可能必須建立個別的服務要求。和此 Hotfix 無關的額外支援問題適用一般的支援費用。如需 Microsoft 客戶服務支援部門電話號碼的完整清單或要建立個別的服務要求,請造訪下列 Microsoft 網站:
http://support.microsoft.com/contactus/?ws=support
附註「 下載 Hotfix 」 表單會顯示此 Hotfix 會出現,以供使用的語言。如果您沒有看到您的語言,是因為此 Hotfix 是不適用您的語言。
必要條件
您必須有 Microsoft Windows Server 2003 Service Pack 1 (SP1) 或 Microsoft Windows XP Service Pack 2 (SP2) 來套用這個 Hotfix 安裝。
重新啟動需求
套用此 Hotfix 之後,您必須重新啟動電腦
Hotfix 取代資訊
此 Hotfix 不會取代任何其他的 Hotfix。
檔案資訊
此 Hotfix 的英文版在檔案屬性 (或更新版本的檔案屬性) 如下列表格中所列。這些檔案的日期和時間為 Coordinated Universal Time (UTC)。當您檢視檔案資訊時,會將它轉換為當地時間。若要到 UTC 與當地時間差異使用 [中日期] 和 [時間] 工具,在 [控制台] 中的 [時區] 索引標籤]。

Windows XP、 x x64 版本
   Date         Time   Version        Size       File name
   ----------------------------------------------------------
   29-Jun-2005  05:57  5.2.3790.2476  1,116,160  Oleaut32.dll
Windows XP、 x x86 版本
   Date         Time   Version        Size     File name
   --------------------------------------------------------
   08-Mar-2005  08:24  5.1.2600.2626  549,376  Oleaut32.dll

登錄資訊

警告如果您修改登錄不當使用 「 登錄編輯程式 」,或使用另一個方法,可能會發生嚴重的問題。這些問題可能會要求您重新安裝作業系統。Microsoft 無法保證可以解決這些問題。您必須自己承擔修改登錄所造成的風險。

驗證 BSTR 資料時,此 Hotfix 會提供與 Windows 2000 電腦的回溯相容性。您必須建立若要啟用此 Hotfix 的登錄項目。如果要在 Windows Server 2003 電腦上] 或 [Windows XP 的電腦上,請建立此登錄項目,請依照下列步驟執行:
  1. 按一下 [開始] 再按一下 [執行、 在 [開啟] 方塊中鍵入 Regedit 然後再按一下 [確定]
  2. 找出下列登錄機碼:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  3. 以滑鼠右鍵按一下您在步驟 2 中找到的登錄機碼,按一下 [新增],然後再按一下 [索引鍵
  4. 鍵入 OleAut,並按下 ENTER。
  5. OleAut] 上按一下滑鼠右鍵,按一下 [新增],然後再按一下 [DWORD 值]。
  6. 鍵入 DisableBSTRValidation,並按下 ENTER。
  7. DisableBSTRValidation,] 上按一下滑鼠右鍵,然後按一下 [修改]
  8. 數值資料] 方塊中鍵入 00000001,再按 [確定]
  9. 在 [檔案] 功能表上按一下 [結束],結束 [登錄編輯程式]。

其他可行方案

警告這項因應措施可能會使您的電腦] 或 [網路更容易遭受] 攻擊惡意使用者或惡意軟體 (例如病毒)。我們不建議這項因應措施,但會提供這項資訊,如此您可以在您自己慎重實作這項因應措施。這項因應措施您必須承擔使用自己的風險。
如果要解決這個問題,請依照下列步驟執行:
  1. 按一下 [開始] 再按一下 [執行、 在 [開啟] 方塊中鍵入 Regedit 然後再按一下 [確定]
  2. 找出下列登錄機碼:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
  3. 以滑鼠右鍵按一下您在步驟 2 中找到的登錄機碼,按一下 [新增],然後再按一下 [索引鍵
  4. 鍵入 OleAut,並按下 ENTER。
  5. OleAut] 上按一下滑鼠右鍵,按一下 [新增],然後再按一下 [DWORD 值]。
  6. 鍵入 DisableShield,並按下 ENTER。
  7. DisableShield,] 上按一下滑鼠右鍵,然後按一下 [修改]
  8. 數值資料] 方塊中鍵入 00000001,再按 [確定]
  9. 在 [檔案] 功能表上按一下 [結束],結束 [登錄編輯程式]。
附註這項因應措施會停用某些已經在 Windows Server 2003 和 Windows XP 作業系統中實作的安全性檢查。因此,我們建議您使用這項因應措施,來測試是否 Hotfix,本文將告訴您,可以解決您遇到的問題。我們不建議您使用這項因應措施做為永久解析度這個問題。

狀況說明

Microsoft 已確認<適用於>一節所列之 Microsoft 產品確實有此問題。 這個問題已經先在 Windows Server 2003 Service Pack 2 中獲得修正。

其他相關資訊

如需詳細資訊,請按一下下列的文件編號,檢視 「 Microsoft 知識庫 」 中的文件:
824684用來描述 Microsoft 軟體更新標準術語的說明

屬性

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

提供意見

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com