最近、アプリケーションにGetTempPathの使用を追加しました。コード レビュー中に、GetTempPath の説明に次の情報が含まれていることが強調されました。
アプリケーションは、ファイル I/O 操作に使用する前に、パスの存在とパスへの適切なアクセス権を確認する必要があります。
これで、すべてのファイル アクセスが try/catch ブロックでラップされ、独自の一時ディレクトリにアクセスできないシステムが存在するでしょうか?
私の最初のアイデアは、ディレクトリが存在しない場合は (GetFileAttributes および CreateDirectory を介して) 作成を試み、次にファイルを作成し、バイトを書き込んでからファイルを削除することです。それは機能しますが、無知のようです-フォルダーへの書き込みアクセス権があることを確認するより良い方法は確かにありますか?
ファイル属性定数、汎用アクセス権、標準アクセス権、ファイル アクセス権定数、および GetSecurityInfo 関数を探し始めました。これらはすべて、ファイルを作成してそれが固執するかどうかを確認するよりも長いソリューションを作成するように見えました.
では、WinAPI 関数を使用して、フォルダーへの書き込みアクセス権があることを確認する正しい方法は何ですか?