function から受け取ったカーネル オブジェクトのリストがありますNtQUeryDirectoryObject()
。
このオブジェクトのセキュリティ記述子を取得するにはどうすればよいですか? このすべてのオブジェクトを読み取る必要がありますDACL
が、すべての試行が「アクセスが拒否されました」というエラーで失敗します。
MSDN GetSecurityInfo() のコメントから: *オブジェクトのセキュリティ記述子から所有者、グループ、または DACL を読み取るには、ハンドルが開かれたときに、呼び出し元のプロセスに READ_CONTROL アクセスが許可されている必要があります。READ_CONTROL アクセスを取得するには、呼び出し元がオブジェクトの所有者であるか、オブジェクトの DACL がアクセスを許可する必要があります。
基本的に、DACLはゼロとアクセス制御エントリであると理解しています。これらのそれぞれには、SID とアクセスが拒否または許可されたテーブルがあります。現在、DACL はオブジェクトの所有者によって制御されています。所有者は間違いなく他の人に制御を与えることができます(MSDNで適切なAPIを検索してください)、またはSetKernelObjectSecurity(forgot params ..:))のようなものを呼び出して他の人も設定できると思います..
あなたが扱っている「何の」カーネルオブジェクトに応じて違いが生じると思います。DACL についても - 空と null について調べてください。