私は最近、アプリケーションにGetTempPathの使用を追加しました。コードレビューの際には、GetTempPathの記述は情報が含まれていることを強調した:ディレクトリをチェックする正しい方法は書き込み可能です
アプリケーションはファイルI/O操作のための任意の使用に先立って、パスにパスし、適切なアクセス権の有無を確認する必要があります。
これで、すべてのファイルアクセスがtry/catchブロックでラップされ、自分の一時ディレクトリにアクセスできないシステムはありますか?
最初のアイデアは、ディレクトリが存在しない場合(GetFileAttributesとCreateDirectoryを介して)ディレクトリを作成してからファイルを作成し、バイトを書き込んだ後にファイルを削除することです。それは無知を苦にしますが、確かにあなたがフォルダへの書き込みアクセス権を持っていることを確認する良い方法がありますか?
ファイル属性定数、一般アクセス権、標準アクセス権、ファイルアクセス権定数、およびGetSecurityInfo関数が見つかりました。そのすべてが、ファイルを作成するよりも長い解決策を作り出し、それがメソッドを固執するかどうかを確認していました。
したがって、フォルダへの書き込みアクセス権があることを確認するWinAPI関数を使用する正しい方法は何ですか?
+1私は同意する100% –
特に、AV製品が関与するとゲームが変化するため、彼らは、セキュリティの名前でtempフォルダ内のいくつかの操作をブロックすることでよく知られています。実行可能ファイルをブロックします。 – Deanna