Функция 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. Если StringsList имеет значение NULL, NumStrings должен иметь значение ноль.

[in, optional] StringsList

Значение NULL или указывает на буферизированные строки Юникода. Эти строки, описывающие событие, вставляются в журнал событий Win32 и могут быть проверены с помощью средства просмотра событий Win32. Каждая строка должна быть строкой Юникода с символом NUL.

[in] DataSize

Указывает количество байтов в буфере для двоичных данных в data . Если значение Data равно NULL, DataSize должно быть равно нулю.

[in, optional] Data

Значение NULL или указывает на данные буферизованного двоичного дампа, что полезно для понимания события. Эти данные можно проверить с помощью средства просмотра событий Win32.

Возвращаемое значение

NdisWriteEventLogEntry может возвращать одно из следующих значений:

Код возврата Описание
NDIS_STATUS_SUCCESS
Событие успешно зарегистрировано.
NDIS_STATUS_BUFFER_TOO_SHORT
При необходимости предоставленные строки Юникода и двоичные данные дампа превышают максимально допустимый размер (MAX_EVENT_LOG_DATA_SIZE).
NDIS_STATUS_RESOURCES
NDIS не удалось выделить память для записи журнала ошибок ввода-вывода.

Комментарии

NdisWriteEventLogEntry выделяет запись журнала ошибок ввода-вывода, заполняет запись предоставленными сведениями о событии, а затем записывает запись в файл журнала ошибок ввода-вывода. Пользователь может просматривать зарегистрированное событие, включая необязательное описание события и (или) необязательные данные двоичного дампа, с помощью средства просмотра событий Win32.

Поток ведения журнала ошибок NT использует все строки, указанные в необязательном списке stringsList , для заполнения сообщений, записанных в журнал событий Win32. Каждая строка должна быть строкой Юникода с символом NUL. Диспетчер ввода-вывода предполагает, что начальная строка — это либо имя драйвера, сообщающего об ошибке, либо имя устройства, вызвавшего ошибку.

Строки Юникода, предоставленные вызывающим элементом, должны быть считываться из реестра или быть независимыми от языка (то есть строки должны быть одинаковыми на любом языке, например, строка может быть именем файла).

Данные дампа, предоставляемые вызывающей стороны, могут быть любыми двоичными данными (например, значениями регистра), которые полезны для понимания события. Вызывающий объект не должен заполнять двоичные данные. При необходимости NdisWriteEventLogEntry заполняет двоичные данные дампа, чтобы конечный размер данных был кратным интегралом sizeof(ULONG).

Система ограничивает общий размер необязательных данных, предоставляемых NdisWriteEventLogEntry. Объединенный размер списка строк и (возможно, заполненного) двоичного дампа должен быть меньше или равен MAX_EVENT_LOG_DATA_SIZE.

NdisWriteEventLogEntry вызывается только драйверами протокола. Драйверы мини-порта должны вызывать NdisWriteErrorLogEntry для регистрации событий и ошибок.

Требования

Требование Значение
Минимальная версия клиента Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. раздел NdisWriteEventLogEntry (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. раздел NdisWriteEventLogEntry (NDIS 5.1)) в Windows XP.
Целевая платформа Универсальное
Верхняя часть ndis.h (включая Ndis.h)
Библиотека Ndis.lib
IRQL <= DISPATCH_LEVEL
Правила соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также раздел

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes

NdisWriteErrorLogEntry