Функция NdisWriteEventLogEntry (ndis.h)
NdisWriteEventLogEntry регистрирует событие в журнал событий Win32.
Синтаксис
NDIS_STATUS NdisWriteEventLogEntry(
[in] PVOID LogHandle,
[in] NDIS_STATUS EventCode,
[in] ULONG UniqueEventValue,
[in] USHORT NumStrings,
[in, optional] PVOID StringsList,
[in] ULONG DataSize,
[in, optional] PVOID Data
);
Параметры
[in] LogHandle
Указатель на объект драйвера протокола, который регистрируется в этом событии.
[in] EventCode
Указывает код NDIS_STATUS_XXX, описывающий событие.
[in] UniqueEventValue
Определяет этот экземпляр сообщения об ошибке.
[in] NumStrings
Указывает количество указателей на строки Юникода в необязательном StringsList. Если StringsListNULL, NumStrings должно быть равно нулю.
[in, optional] StringsList
Либо NULL, либо указывает на буферные строки Юникода. Эти строки, описывающие событие, вставляются в журнал событий Win32 и могут быть проверены с помощью средства просмотра событий Win32. Каждая строка должна быть строкой Юникода, завершаемой NUL.
[in] DataSize
Указывает количество байтов в буфере для двоичных данных в data. Если данныеNULL, DataSize должно быть равно нулю.
[in, optional] Data
Либо NULL, либо указывает на буферированные данные двоичного дампа, полезные для понимания события. Эти данные можно проверить с помощью средства просмотра событий Win32.
Возвращаемое значение
NdisWriteEventLogEntry может возвращать одно из следующих значений:
Возвращаемый код | Описание |
---|---|
|
Событие успешно зарегистрировано. |
|
Необязательные строки Юникода и двоичные данные дампа превышают максимальный допустимый размер (MAX_EVENT_LOG_DATA_SIZE). |
|
NDIS не удалось выделить память для записи журнала ошибок ввода-вывода. |
Замечания
NdisWriteEventLogEntry выделяет запись журнала ошибок ввода-вывода, заполняет запись предоставленными сведениями о событии, а затем записывает запись в файл журнала ошибок ввода-вывода. Пользователь может просмотреть зарегистрированное событие, включая необязательное описание события и (или) необязательные двоичные данные дампа с помощью средства просмотра событий Win32.
Поток ведения журнала ошибок NT использует все строки, предоставленные в необязательном StringsList для заполнения сообщений, записанных в журнал событий Win32. Каждая строка должна быть строкой Юникода, завершаемой NUL. Диспетчер ввода-вывода предполагает, что начальная строка — это имя драйвера, сообщающего об ошибке, или имя устройства, вызвавшего ошибку.
Строки Юникода, предоставленные вызывающим оператором, должны быть прочитаны из реестра или должны быть независимыми от языка (т. е. строки должны совпадать на любом языке, например, строка может быть именем файла).
Данные дампа, предоставленные вызывающим абонентом, могут быть любыми двоичными данными (например, значениями регистра), полезными для понимания события. Вызывающий объект не должен заполнять двоичные данные. При необходимости NdisWriteEventLogEntry помещает данные двоичного дампа таким образом, чтобы окончательный размер данных был несколько целочисленным размером(ULONG).
Система ограничивает общий размер необязательных данных, предоставленных NdisWriteEventLogEntry. Объединенный размер списка строк и двоичный дамп (возможно, заполненный) должен быть меньше или равен MAX_EVENT_LOG_DATA_SIZE.
NdisWriteEventLogEntry вызывается только драйверами протокола. Драйверы минипорта должны вызывать NdisWriteErrorLogEntry для журналов событий и ошибок.