2012-10-13 25 views
0

我想通過ID打開一個文件,然後使用Win32 API中的結果句柄BackupRead()如何通過fileID打開文件,然後使用BackupRead API?

這可能嗎?我不確定在其他Win32 API中使用來自NtCreateFile()的句柄是否可以使用?

例如,我可以做到這一點

NtCreateFile(&handle, ..., FILE_OPEN_BY_FILE_ID, ....) 
BackupFile(handle, ....) 

我有點用NtCreateFile困擾,它是有據可查的MSDN,但他們也提到兼容性問題,可能會出現

任何想法?

+0

只是簡單的好奇心:因爲你想備份由ID打開的文件,你是否正在開發一個掃描MFT和/或USN日誌的備份工具?如果是的話,我們有共同的目標! – mbarthelemy

回答

1

我不知道我有100%的瞭解你的問題是什麼,我不知道任何名爲BackupFile()的功能。

如果你想要的是從NTCreateFile()重用提手BackupRead(),它應該是完全沒有這樣做,所提供的文件句柄與右旗&權限打開。

一定要打電話NTCreateFileFILE_OPEN_FOR_BACKUP_INTENT標誌:

NtCreateFile(&handle, ..., FILE_OPEN_BY_FILE_ID|FILE_OPEN_FOR_BACKUP_INTENT, ....) 

如果您計劃所產生的句柄傳遞給BackupRead()

相關問題