理論的には、このユーザーがこのファイルに対してどのようなアクセス権を持っているかという質問に答えることができる Windows の「関数」を呼び出すだけで済みます。この情報を提供する (そしてWindows ACL エディターとその効果的なアクセス許可機能で使用される) 唯一の API は、GetEffectiveRightsFromAcl関数です。
ただし、これを使用するには、C での複雑で低レベルのプログラミングが必要です。また、Microsoft KB 記事 #262278に記載されているように、信頼性も低くなります。
これらの制限により、GetEffectiveRightsFromAcl API は使用しないでください。ただし、オーバーライドするユーザーの権限または特権が適切でなく、ターゲット オブジェクトがアクセスを許可または拒否することによって保護されていないことが確実な状況を除きます。疑似グループ。通常、特定のユーザーとセキュリティ保護可能なオブジェクトの正確なアクセス情報は、AccessCheck 関数を介してのみ取得できます。これには、ユーザー ログオン用のアクセス トークンが必要です。
あなたの環境でそれが問題にならないと仮定すると、低レベルのコードを高レベルの COM オブジェクトにラップした codeproject.com でホストされているプロジェクトの恩恵を受けることができます。このプロジェクトはUserAccessCheckと呼ばれ、LotusScript から他の COM オブジェクトと同じようにアクセスできます。
Dim hasWriteAccess as Variant
Dim obNet as Variant
obNet = CreateObject("Pardesi.TrusteeUtil")
hasWriteAccess = obNet.CheckPermissionsOnFile("foo", "bar", "C:\\DataFiles", 0x0002)
Msgbox(hasWriteAccess)
私はこれを自分で試したことはありませんが、ここから始めます。