USNジャーナル/NTFS MFTファイルの列挙を行う前に
while (DeviceIoControl(hDrive, FSCTL_ENUM_USN_DATA, &med, sizeof(med), pData, sizeof(pData), &cb, NULL))
{
// do stuff here
med.StartFileReferenceNumber = *((DWORDLONG*) pData); // pData contains FRN for next FSCTL_ENUM_USN_DATA
}
ファイル/ディレクトリの数を知りたいです( std::vector: を「予約」するため、v.reserve(...)
およびその他の理由で)。
FSCTL_QUERY_USN_JOURNAL
以前に使用することを考えていUSN_JOURNAL_DATA_V0
ましたが、ボリュームに関する情報が含まれています。
残念ながら、、、FirstUsn
この情報は教えないNextUsn
でください。MaxUsn
ボリュームに 10 万個のファイルがある場合でも、NextUsn
たとえば 1,000 万個になる可能性があるため、適切な大きさのオーダーは得られません。
FSCTL_ENUM_USN_DATA を実行する前にファイル/ディレクトリの数を取得する方法は?