簡體   English   中英

如何檢查目錄是否可在Win32 C / winapi中寫入?

[英]how to check if a directory is writeable in win32 C/winapi?

我知道兩種不可靠的方法:

  • _access()-在目錄上不起作用(僅檢查是否存在)
  • CreateFile()-在存在虛擬商店(AFAIK)的情況下給出誤報

最有用的是代碼示例,因為win32 ACL訪問功能非常復雜。 請不要發布指向msdn的鏈接,我去過那里並且終生無法弄清楚我應該如何處理所有這些DACL,SACL和安全描述符-我在跨平台應用程序上工作它需要此特定功能,但在其他方面與平台無關。 比訪問Windows ACL更簡單的解決方案更受歡迎。

編輯:您可以放心地假設應用程序運行時目錄權限不會更改。

您可以在清單文件( http://www.codeguru.com/csharp/csharp/cs_misc/designtechniques/article.php/c15455/ )中為應用程序禁用位置虛擬化 -這應該可以使CreateFile足夠可靠地滿足您的目的。

在任何操作系統上都沒有可靠的方法,因為可以在測試權限和實際寫入文件之間更改權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM