0

状況: を使用してディレクトリをスキャンしていNtQueryDirectoryFile(..., FileBothDirectoryInformation, ...)ます。この呼び出しによって返されるデータに加えて、セキュリティ データ (通常は によって返されるGetKernelObjectSecurity) と代替ストリームのリスト ( NtQueryInformationFile(..., FileStreamInformation)) が必要です。

問題: セキュリティと代替ストリーム情報を取得するには、各ファイルを開く (および閉じる) 必要があります。私のテストでは、操作が 3 分の 1 遅くなりました。追加するGetKernelObjectSecurityNtQueryInformationFile、4 分の 1 に遅くなります (12 倍になります)。

質問: この情報を取得するためのより良い/より高速な方法はありますか?

アイデア: ターゲット ファイル システムがローカルの場合、直接アクセスできます (NTFS/FAT/etc の詳細を知っていれば、生データから情報を抽出できます)。しかし、リモート ファイル システムでは機能しません。

4

1 に答える 1