有沒有哪個地方比另一個更好?是否會對使用其中一個產生性能影響?NtFsControlFile()和DeviceIoControl()函數有什麼區別?
0
A
回答
2
@Alex K .:小備註:NtFsControlFile
記錄在http://msdn.microsoft.com/en-us/library/ff566462(v=VS.85).aspx。內核模式應用程序應該使用ZwFsControlFile
函數和用戶模式應用程序可以使用NtFsControlFile
。
@vedang:從你的問題我會假設你不是內核模式驅動程序的開發人員。所以我會嚴格地建議你使用只有DeviceIoControl
發送FSCTL_XXX
代碼http://msdn.microsoft.com/en-us/library/aa364230(v=VS.85).aspx。
僅當您打算編寫不使用Win32子系統並僅使用NT本機子系統的應用程序時,就像在Windows啓動時運行的小型校驗盤應用程序或磁盤碎片整理應用程序一樣(請參閱會話管理器註冊表項)比在使用NtFsControlFile
時有優勢。在所有平時的工作中,您只能使用DeviceIoControl
。
1
我對執行沒有任何意見,但NtFsControlFile
是一個未公開的內核,它的使用帶來了在未來的某個時刻會消失/更改實現的風險,而DeviceIoControl
是公共Win32 API的一部分。
相關問題
- 1. 函數getAddUrl和getAddToCartUrl有什麼區別?
- 2. Crypt ...和CP ...函數有什麼區別?
- 3. round()和trunc()函數有什麼區別?
- 4. setInformativeText和setText函數有什麼區別?
- 5. $ get和$ find函數有什麼區別?
- 6. 函子和「泛型」有什麼區別
- 7. 非純函數和純函數有什麼區別?
- 8. 函數模板和模板函數有什麼區別?
- 9. 函數和函數()在C#中有什麼區別?
- 10. JavaScript:函數名稱和函數引用有什麼區別?
- 11. 函數調用和函數引用有什麼區別?
- 12. 回調函數和常規函數有什麼區別?
- 13. RegExp的exec()函數和String的match()函數有什麼區別?
- 14. async.compose函數和underscore.compose函數有什麼區別?
- 15. 線程入口函數和正常函數有什麼區別?
- 16. Swift:'Currying'和返回函數的函數有什麼區別?
- 17. 在javascript中var函數和函數有什麼區別?
- 18. submit()函數和send()JavaScript函數之間有什麼區別?
- 19. setTimeout與函數和無函數之間有什麼區別?
- 20. 調用函數和返回函數有什麼區別?
- 21. DateTime函數有什麼區別?
- 22. 這兩個函數有什麼區別?
- 23. 有什麼區別`和$(Bash中有什麼區別?
- 24. 中有什麼函數參數和參數之間......區別
- 25. 有什麼區別? :和||
- 26. &&和||有什麼區別?
- 27. 「/」和「/ *」有什麼區別?
- 28. 有什麼區別:。!和:r!?
- 29. ==和===有什麼區別?
- 30. Appender和〜有什麼區別?