2013-05-06 65 views
1

如果我嘗試運行此:爲什麼此CreateFile()調用在Windows 8上導致BSOD?

#include <Windows.h> 

int main() 
{ 
    CreateFile(
     TEXT("X:\\$MFT\\Folder"), 
     FILE_READ_ATTRIBUTES, 
     FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE, 
     NULL, 
     OPEN_EXISTING, 
     0, 
     NULL); 
    return 0; 
} 

系統死鎖(以及在Windows 8上,隨後BSODS)上的任何進一步嘗試訪問X:
更新:X:只是一個佔位符,你可以用任何有效的驅動器來替換它。)

我花了一段時間來跟蹤它,現在我有 - 但我感到困惑:什麼是原因嗎?

+2

X是映射網絡驅動器嗎?你的描述聽起來像是驅動程序中的一個錯誤。什麼是你從BSOD得到的錯誤代碼?你有沒有發送崩潰報告? – dlev 2013-05-06 19:42:52

+0

@dlev:不,'X:'是一個佔位符,如果你願意的話,你可以用'C:'來代替它 - 如果它實際上是'C:',它會更快地崩潰。我沒有寫'C:',因爲我擔心有人會複製粘貼它,然後逐字運行並意外地使他的電腦崩潰。 – Mehrdad 2013-05-06 20:06:35

+0

好的,文件的名稱也很重要,或者它只是導致死鎖/藍屏死機的其他標誌的組合? – dlev 2013-05-06 20:45:23

回答

2

這是一個NTFS錯誤。

因爲現在終於是publicly known,所以我放棄了這個問題並將其作爲答案發布。

相關問題