использование API для чтения SecEvent.Evt
От: Nagelo  
Дата: 07.02.07 20:49
Оценка:
столкнулся с необходимостью програмного чтения SecEvent.Evt. Попробовал в лоб, используя API.
CreateFile возвращает правильный хендл открытого файла, а вот ReadFile выполняется некорректно.

код следующий:
hFile = CreateFile("C://WINDOWS/system32/config/SecEvent.Evt", STANDARD_RIGHTS_READ|SYNCHRONIZE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY, NULL);

    if(hFile == INVALID_HANDLE_VALUE)
        return -1;

    bResult = ReadFile(hFile, &Data, 100, &Size, NULL);

видимо это связано с тем, что SecEvent.Evt используется системным процессом. Если есть какие-нить соображения по этому поводу прошу поделиться

08.02.07 12:16: Перенесено модератором из 'C/C++' — Кодт
Добавлена разметка — Кодт
Re: использование API для чтения SecEvent.Evt
От: dvg13  
Дата: 08.02.07 10:58
Оценка:
Здравствуйте, Nagelo, Вы писали:

N>столкнулся с необходимостью програмного чтения SecEvent.Evt. Попробовал в лоб, используя API.

N>CreateFile возвращает правильный хендл открытого файла, а вот ReadFile выполняется некорректно.

N>код следующий:

N>
N>hFile = CreateFile("C://WINDOWS/system32/config/SecEvent.Evt", STANDARD_RIGHTS_READ|SYNCHRONIZE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY, NULL);

N>    if(hFile == INVALID_HANDLE_VALUE)
N>        return -1;

N>    bResult = ReadFile(hFile, &Data, 100, &Size, NULL);
N>

N>видимо это связано с тем, что SecEvent.Evt используется системным процессом. Если есть какие-нить соображения по этому поводу прошу поделиться

Что возвращает ReadFile ?
Re: использование API для чтения SecEvent.Evt
От: kirill_kl  
Дата: 08.02.07 11:45
Оценка:
Здравствуйте, Nagelo, Вы писали:

N>столкнулся с необходимостью програмного чтения SecEvent.Evt. Попробовал в лоб, используя API.

N>CreateFile возвращает правильный хендл открытого файла, а вот ReadFile выполняется некорректно.

N>код следующий:

N>
N>hFile = CreateFile("C://WINDOWS/system32/config/SecEvent.Evt", STANDARD_RIGHTS_READ|SYNCHRONIZE, FILE_SHARE_READ, NULL, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY, NULL);

N>    if(hFile == INVALID_HANDLE_VALUE)
N>        return -1;

N>    bResult = ReadFile(hFile, &Data, 100, &Size, NULL);
N>

N>видимо это связано с тем, что SecEvent.Evt используется системным процессом. Если есть какие-нить соображения по этому поводу прошу поделиться

Может OpenEventLog/ReadEventLog ?
Re[2]: использование API для чтения SecEvent.Evt
От: Nagelo  
Дата: 08.02.07 18:59
Оценка:
Здравствуйте, kirill_kl, Вы писали:

_>Может OpenEventLog/ReadEventLog ?


Теперь все работает как надо. Большое спасибо за подсказку.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.