| |
| | | | |
Алексей Вуколов дата публикации 23-05-2002 19:02 Набор классов для работы с журналом событий в WinNT/2000/XP.
- Класс TDLLCache.
-
Предназначен для хранения списка загруженных динамических библиотек, используемых
при формировании текстов сообщений при расшифровке записей журнала событий.
Используется внутри класса TEventLogRecordDecoder.
Методы:
function LoadLibrary( const Name : string; FLags : DWORD ) : HInstance;
загружает библиотеку и возвращает ее описатель.
procedure UnloadLibrary( const Name : string );
выгружает библиотеку.
procedure UnloadAll;
выгружает все загруженные библиотеки.
- Класс TEventLogRecordDecoder.
-
Предназначен для расшифровки данных записи журнала событий. Большинство свойств
соответствуют полям структуры EVENTLOGRECORD. Их подробное описание есть в
справке и MSDN.
Методы:
constructor Create( const ALogName : string );
ALogName имя журнала. Должно соответствовыть имени одного из подключей ключа
HKLM\SYSTEM\CurrentControlSet\Services\Eventlog реестра, обычно Application,
System и Security. Это имя можно также задать при помощи свойства LogName.
procedure Reset; - выгружает все загруженные при расшифровке динамические
библиотеки.
procedure GetRawData(Stream : TStream);
Сохраняет в поток Stream двоичные данные, содержащиеся в записи о событии.
Указатель на этот блок данных можно получить также из свойства Data, а
длину - из DataLength.
procedure GetRawRecord(Stream : TStream);
Сохраняет в поток Stream содержимое записи журнала целиком.
procedure ValidateRecord;
Выполняет проверку формата записи, и если она не соответствует формату,
возбуждает исключение EInvalidEventLogRecord.
Свойства:
property RecPtr : PEVENTLOGRECORD read FRecPtr write FRecPtr;
Предназначено для задания указателя на структуру EVENTLOGRECORD, данные которой
нужно прочитать.
property LogName : string read FLogName write FLogName;
Предназначено для задания имени журнала.
- Класс TEventLog
-
Методы:
procedure Open;
Открывает журнал событий, заданный свойством LogName.
procedure OpenBackup( const BackupName : string );
Открывает резервную копию журнала.
procedure Close;
Закрывает журнал событий
procedure Clear( const BackupName : string = '' );
Очищает журнал событий. Журнал должен быть открыт. Если задан параметр
BackupName, то создается резервная копия журнала.
procedure Backup( const BackupName : string );
Создает резервную копию журнала.
function CreateIterator( Direction : TLogIterateDirection=idBackward) : TEventLogIterator;
Создает и возвращает итератор, связанный с данным экземпляром класса TEventLog.
Свойства:
property Active : boolean read GetActive write SetActive;
Показывает открыт или закрыт журнал.
property Count : DWORD read GetCount;
Количество записей в журнале
property Handle : THandle read FHandle;
Описатель открытого журнала.
property LogName : string read FLogName write SetLogName;
Задает имя журнала.
property OldestRecord : DWORD read GetOldestRecord;
Номер самой старой записи в журнале.
property RegKey : string read GetRegKey;
Имя корневого ключа реестра для выбранного журнала.
- Класс TEventLogIterator
-
Предназначен для перемещения по открытому журналу сообщений, предоставляет
доступ к текущей записи.
Методы:
constructor Create( AEventLog : TEventLog; ADirection : TLogIterateDirection );
AEventLog - Экземпляр класса TEventLog, для которого создается итератор
ADirection - задает направление прохода по журналу.
function IsEmpty : boolean;
Возвращает true если журнал пуст.
procedure Reset;
Сбрасывает текущее состояние итератора и переходит, в зависимости от заданного
направления обхода, к первой или последней записи в журнале. Вызов Reset
необходим, например, в том случае, если было изменено имя журнала в
соответствующем экземпляре класса TEventLog.
function IsDone : boolean;
function Next : boolean;
Переход к следующей записи в журнале в соответствие с выбранным направлением
обхода.
function Seek( Number : DWORD ) : boolean;
Переход к записи журнала с заданным номером.
свойства:
property Current : TEventLogRecordDecoder read GetCurrent;
Дает доступ к текущей записи журнала.
property EventLog : TEventLog read FEventLog write SetEventLog;
Экземпляр класса TEventLog, с которой связан с данным экземпляром итератора.
property Direction : TLogIterateDirection read FDirection write SetDirection;
Направление, в котором идет перемещение по журналу при вызове Next.
Примечание:
при написании использовались модули из библиотеки Jedi WinAPI Library (JWA).
Библиотеку можно найти здесь http://www.delphi-jedi.org/Jedi:APILIBRARY:26278
К материалу прилагаются файлы:
[События]
Обсуждение материала [ 25-07-2006 03:55 ] 2 сообщения |
|
| | | | |
| |
Время на сайте: GMT минус 5 часов
Если вы заметили орфографическую ошибку на этой странице, просто выделите ошибку мышью и нажмите Ctrl+Enter.
Функция может не работать в некоторых версиях броузеров.
©
При использовании любых материалов «Королевства Delphi»
необходимо указывать источник информации.
Перепечатка авторских статей возможна только при согласии всех авторов и администрации сайта.
Все используемые на сайте торговые марки являются
собственностью их производителей.