Как заставить ETW отправлять ранее пропущенные события

Я хочу захватить чтение файла с использованием ETW Microsoft-Windows-Kernel-File поставщик. Похоже, что мне нужно соотнести 2 типа событий, используя FileObject (или же FileKey) имущество:

Имя создать

{
"Type": "name create",
"FileObject": 123,
"FileName": "\\Device\\HarddiskVolume3\\file.txt"}

Читать

{
"Type": "read",
"FileObject": 123,
...
}

Который я могу объединить в file read событие

{
"Type": "file read",
"FileObject": 123,
"FileName": "\\Device\\HarddiskVolume3\\file.txt",
...
}

Проблема в том, что я получаю только name create события для вновь открытых файлов. Если файл не был закрыт, я не получу name create событие, и это невозможно сформулировать read событие, чтобы получить имя файла. Эта информация была предоставлена ​​с name create до того, как мой подписчик был прикреплен.

Вопрос: Можно ли заставить ETW отправлять все события, необходимые для такой корреляции? Другими словами, как мой подписчик может получить кэшированный name create события из прошлого?

Я использую C ++, Кребс, Microsoft-Windows-Kernel-File {EDD08927-9CC4-4E65-B970-C2560FB5C289} поставщик (который не имеет документов). Я экспериментировал с поставщиками ядра: диск а также файл и, похоже, проблема корреляции тоже есть.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]