4

ご挨拶!

C++を使用してWindowsMFC/ATLプログラム内からディレクトリの書き込み許可を確認しようとしています。私の最初の推測は、C標準の_access関数を使用することです。例:

if (_access("C:\mydir", 2) == -1)
   // Directory is not writable.

しかし、どうやらWindows 2000とXPでは、_accessはディレクトリのアクセス許可を決定できません。(つまり、エクスプローラでディレクトリを右クリックしたときの[プロパティ]ダイアログの[セキュリティ]タブ)では、WindowsC++ライブラリのいずれかを使用してWindows2000/ XPでディレクトリの書き込み権限を決定するための洗練された方法はありますか?もしそうなら、どのように?

ありがとう

エヴァン

4

3 に答える 3

4

これを確認するには、GENERIC_WRITE アクセスで CreateFile を呼び出します。 http://msdn.microsoft.com/en-us/library/aa363858(VS.85).aspx

これは C++ ライブラリではありませんが、必要なことを直接実行するため、エレガントであると見なされます...

于 2008-10-13T16:21:47.813 に答える
1

secapiを使用します。あなたはAdvで尋ねることができます。Win32 apiニュースグループ:news://194.177.96.26/comp.os.ms-windows.programmer.win32ここで頻繁に議論されています(C / C ++コード)

于 2008-10-13T16:00:02.147 に答える
1

多くのWindows セキュリティ関数がありますが、その使用法が特に洗練されているとは言えません。一般的なソリューションとして GetNamedSecurityInfo をお勧めしますが、CreateFile ソリューションには一定の単純さと直接性があることも評価できます。:)

于 2008-10-13T17:18:20.197 に答える