Windows 7 或 Windows Server 2008 R2 同時出現 GetTempFileName 函式失敗以及存取遭拒的錯誤

徵狀
在執行 Windows 7 或 Windows Server 2008 R2 的電腦上,應用程式會呼叫 GetTempFileName 函式,建立臨時檔案。然而,GetTempFileName 失敗,而且您收到一些類似下列的暫時性錯誤:
存取路徑遭拒。
路徑 <filepath> 的存取遭到拒絕。
發生的原因
這個問題發生的原因是因為 GetTempFileName 函式處理重複檔名的方式錯誤。

GetTempFileName 函式嘗試建立臨時檔名時,函式會檢查是否有重複的檔名已存在。如果 GetTempFileName 函式找到重複的檔名,而該檔案正處於擱置刪除的狀態,則 GetTempFileName 函式會以錯誤的方式處理重複的檔名,以致處理失敗並產生 ERROR_ACCESS_DENIED 錯誤碼。

預期會發生的情況是函式重新嘗試建立其他臨時檔名。
解決方案

Hotfix 資訊

Microsoft 已提供支援的 Hotfix。但是其目的只為修正本文中所描述的問題。請只在發生本文所述問題的系統上套用這個 Hotfix。這個 Hotfix 可能會接受其他測試。因此,如果此問題沒有對您造成嚴重影響,Microsoft 建議您等候下一版包含此 Hotfix 的軟體更新。

如果 Hotfix 已開放下載,此「知識庫」文件的頂端便會出現「下載 Hotfix」區段。如果沒有顯示這個區段,請連絡「Microsoft 客戶服務及支援」以取得此 Hotfix。

注意 如果發生其他問題,或者需要進行任何疑難排解,您可能必須另外建立一份服務要求。一般來說,如果有其他支援問題是所描述的此特定 Hotfix 無法解決的,才會收取支援費用。如需「Microsoft 客戶服務及支援」的完整電話號碼清單,或是另外建立一份服務要求,請造訪下列 Microsoft 網站:注意 「下載 Hotfix」表單會以 Hotfix 支援的語言顯示。如果您沒有看到所使用的語言,這是因為 Hotfix 未提供該語言的支援。

先決條件

沒有任何先決條件。

重新啟動需求

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

Hotfix 取代資訊

這個 Hotfix 不會取代任何先前發行的 Hotfix。

檔案資訊

此 Hotfix 的全域版本會安裝具有下表中所列屬性的檔案。這些檔案的日期和時間是以 Coordinated Universal Time (UTC) 表示。本機電腦上這些檔案的日期和時間,是以您當地的時間和目前的日光節約時間 (DST) 的時差來顯示。此外,當您對檔案執行特定作業時,其日期和時間可能會改變。
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 之 x86 版本
File nameFile versionFile sizeDateTimePlatform
Kernelbase.dll6.1.7600.20693288,25616-Apr-201007:20x86
關於所有支援的 Windows 7 和 Windows Server 2008 R2 之 x64 版本
File nameFile versionFile sizeDateTimePlatform
Kernelbase.dll6.1.7600.20693420,35216-Apr-201007:29x64
Kernelbase.dll6.1.7600.20693269,82416-Apr-201007:18x86
關於所有支援的 Windows Server 2008 R2 之 IA-64 版本
File nameFile versionFile sizeDateTimePlatform
Kernelbase.dll6.1.7600.20693717,82416-Apr-201005:59IA-64
Kernelbase.dll6.1.7600.20693269,82416-Apr-201007:18x86
狀況說明
Microsoft 已確認本篇文章<適用於>一節所列之 Microsoft 產品確實有上述問題。
其他相關資訊
如需有關 GetTempFileName 函式的詳細資訊,請造訪下列 Microsoft Developer Network (MSDN) 網站:如需有關 NTSTATUS 值的詳細資訊,請造訪下 MSDN 網站:如需有關軟體更新術語的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
824684說明 Microsoft 軟體更新的標準術語

其他檔案資訊

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

所有支援的 x86 版本之 Windows 7 的其他檔案資訊
File nameUpdate.mum
File versionNot applicable
File size1,674
Date (UTC)16-Apr-2010
Time (UTC)10:25
PlatformNot applicable
File nameX86_566758896d090f85fc8cb5f95c849a86_31bf3856ad364e35_6.1.7600.20693_none_211a4e5218931dcf.manifest
File versionNot applicable
File size698
Date (UTC)16-Apr-2010
Time (UTC)10:25
PlatformNot applicable
File nameX86_microsoft-windows-kernelbase_31bf3856ad364e35_6.1.7600.20693_none_27559e8e2f0f2966.manifest
File versionNot applicable
File size2,734
Date (UTC)16-Apr-2010
Time (UTC)07:56
PlatformNot applicable
所有支援的 x64 版本之 Windows 7 和 Windows Server 2008 R2 的其他檔案
File nameAmd64_2194916ab24431d6bfd9fcb71de794de_31bf3856ad364e35_6.1.7600.20693_none_f1446242783acb06.manifest
File versionNot applicable
File size702
Date (UTC)16-Apr-2010
Time (UTC)10:25
PlatformNot applicable
File nameAmd64_e30a797d077054280de565e75a8a3ce6_31bf3856ad364e35_6.1.7600.20693_none_c448767cdfc8c3cb.manifest
File versionNot applicable
File size702
Date (UTC)16-Apr-2010
Time (UTC)10:25
PlatformNot applicable
File nameAmd64_microsoft-windows-kernelbase_31bf3856ad364e35_6.1.7600.20693_none_83743a11e76c9a9c.manifest
File versionNot applicable
File size2,738
Date (UTC)16-Apr-2010
Time (UTC)08:50
PlatformNot applicable
File nameUpdate.mum
File versionNot applicable
File size2,328
Date (UTC)16-Apr-2010
Time (UTC)10:25
PlatformNot applicable
File nameWow64_microsoft-windows-kernelbase_31bf3856ad364e35_6.1.7600.20693_none_8dc8e4641bcd5c97.manifest
File versionNot applicable
File size2,746
Date (UTC)16-Apr-2010
Time (UTC)07:50
PlatformNot applicable
所有支援的 IA-64 版本之 Windows Server 2008 R2 的其他檔案
File nameIa64_aa7e5d6fa743c1b1b31a1f9acbe9f961_31bf3856ad364e35_6.1.7600.20693_none_237f9d709bce10d3.manifest
File versionNot applicable
File size700
Date (UTC)16-Apr-2010
Time (UTC)10:25
PlatformNot applicable
File nameIa64_e30a797d077054280de565e75a8a3ce6_31bf3856ad364e35_6.1.7600.20693_none_682b7eef27695b91.manifest
File versionNot applicable
File size701
Date (UTC)16-Apr-2010
Time (UTC)10:25
PlatformNot applicable
File nameIa64_microsoft-windows-kernelbase_31bf3856ad364e35_6.1.7600.20693_none_275742842f0d3262.manifest
File versionNot applicable
File size2,736
Date (UTC)16-Apr-2010
Time (UTC)08:50
PlatformNot applicable
File nameUpdate.mum
File versionNot applicable
File size1,684
Date (UTC)16-Apr-2010
Time (UTC)10:25
PlatformNot applicable
File nameWow64_microsoft-windows-kernelbase_31bf3856ad364e35_6.1.7600.20693_none_8dc8e4641bcd5c97.manifest
File versionNot applicable
File size2,746
Date (UTC)16-Apr-2010
Time (UTC)07:50
PlatformNot applicable
內容

文章識別碼:982613 - 最後檢閱時間:08/04/2010 11:16:00 - 修訂: 3.0

Windows 7 Enterprise, Windows 7 Home Basic, Windows 7 Home Premium, Windows 7 Professional, Windows 7 Starter, Windows 7 Ultimate, Windows Server 2008 R2 Datacenter, Windows Server 2008 R2 Enterprise, Windows Server 2008 R2 Foundation, Windows Server 2008 R2 Standard

  • kbexpertiseinter kbexpertiseadvanced kbqfe kbHotfixServer kbfix kbsurveynew kbautohotfix KB982613
意見反應