На главную

On-line справка по Win32 API

Написать письмо
БЕСПЛАТНАЯ ежедневная online лотерея! Выигрывай каждый день БЕСПЛАТНО!
Список всех статей A-B-C-D-E-F-G-H-I-J-K-L-M-N-O-P-Q-R-S-T-U-V-W-X-Y-Z | Скачать Вниз

Reading the Event Log



The following code sample reads all the records in the Application logfile and displays the event identifier, event type, and source name for each event log entry.

EVENTLOGRECORD *pevlr;
BYTE bBuffer[BUFFER_SIZE];
DWORD dwRead, dwNeeded, cRecords, dwThisRecord = 0;

/* Open the Application event log. */

h = OpenEventLog(NULL, /* uses local computer */
"Application"); /* source name */
if (h == NULL)
ErrorExit("could not open Application event log");

pevlr = (EVENTLOGRECORD *) &bBuffer;

/*
* Opening the event log positions the file pointer

* for this handle at the beginning of the log.
*
* Read records sequentially until there
* are no more.
*/

while (ReadEventLog(h, /* event log handle */
EVENTLOG_FORWARDS_READ | /* reads forward */
EVENTLOG_SEQUENTIAL_READ, /* sequential read */
0, /* ignored for sequential reads */
pevlr, /* address of buffer */

BUFFER_SIZE, /* size of buffer */
&dwRead, /* count of bytes read */
&dwNeeded)) { /* bytes in next record */

while (dwRead > 0) {

/*
* Print the event ID, type, and source name.
* The source name is just past the end of the
* formal structure.
*/

printf("%02d Event ID: 0x%08X ",

dwThisRecord++, pevlr->EventID);
printf("EventType: %d Source: %s\n",
pevlr->EventType, (LPSTR) ((LPBYTE) pevlr +
sizeof(EVENTLOGRECORD)));

dwRead -= pevlr->Length;
pevlr = (EVENTLOGRECORD *)
((LPBYTE) pevlr + pevlr->Length);
}

pevlr = (EVENTLOGRECORD *) &bBuffer;
}

CloseEventLog(h);



Пригласи друзей и счет твоего мобильника всегда будет положительным!
Предыдущая статья
 
Сайт Народ.Ру Интернет
Следующая статья
Пригласи друзей и счет твоего мобильника всегда будет положительным!

Чтение Бревна Случая



Кодовый образец следующего читает все записи в Прикладном logfile и отображает идентификатор случая, типа случая, и источник называет в честь каждого регистрационного входа случая.

EVENTLOGRECORD *pevlr;
БАЙТ bBuffer[BUFFER_SIZE];
DWORD dwRead, dwNeeded, cRecords, dwThisRecord = 0;

/* Откройте случай Приложения log. */

h = OpenEventLog(НЕДЕЙСТВИТЕЛЬНЫЙ, /* использует локальный компьютер */ "Приложение"); /* исходное имя */ если (h == НЕДЕЙСТВИТЕЛЬНЫЙ) ErrorExit("could не бревно случая открытого Приложения");

pevlr = (EVENTLOGRECORD *) &bBuffer;

/*
* Открывая регистрационные позиции случая файловый указатель

* для этой ручки в начале бревна.
*
* Прочитайте записи последовательно до там
* не - больше.
*/

пока (ReadEventLog(h, /* случай регистрировать оперировать */ EVENTLOG_FORWARDS_READ | /* форвард reads */ EVENTLOG_SEQUENTIAL_READ, /* последовательный читать */ 0, /* проигнорированное для последовательного читает */ pevlr, /* адресовать буфера */

BUFFER_SIZE, /* размер буфера */ &dwRead, /* счет прочитанных байтов */ &dwNeeded)) { /* байты в следующей записи */

пока (dwRead > 0) {

/*
* Напечатайте случай ID, набирайте, и исходное имя.
* Исходное имя является точным прошлым конец the
* формальная структура.
*/

printf("%02d Случай ID: 0x%08X ",

dwThisRecord++, pevlr->EventID);
printf("EventType: %d Источник: %s\n", pevlr->EventType, (LPSTR) ((LPBYTE) pevlr + sizeof(EVENTLOGRECORD)));

dwRead -= pevlr->Length;
pevlr = (EVENTLOGRECORD *) ((LPBYTE) pevlr + pevlr->Length);
}

pevlr = (EVENTLOGRECORD *) &bBuffer;
}

CloseEventLog(h);



Вверх Version 1.3, Oct 26 2010 © 2007, 2010, mrhx Вверх
 mrhx software  Русский перевод OpenGL  Русский перевод Win32 API
 
Используются технологии uCoz