Функция 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 может возвращать одно из следующих значений:
Код возврата | Описание |
---|---|
|
Событие успешно зарегистрировано. |
|
При необходимости предоставленные строки Юникода и двоичные данные дампа превышают максимально допустимый размер (MAX_EVENT_LOG_DATA_SIZE). |
|
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) |