Функция NdisWriteErrorLogEntry (ndis.h)

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

Синтаксис

void NdisWriteErrorLogEntry(
  [in] NDIS_HANDLE     NdisAdapterHandle,
  [in] NDIS_ERROR_CODE ErrorCode,
  [in] ULONG           NumberOfErrorValues,
       ...             
);

Параметры

[in] NdisAdapterHandle

Указывает дескриптор, представляющий сетевой адаптер, который является причиной ошибки ввода-вывода для регистрации. Этот дескриптор является входным параметром miniportInitializeEx.

[in] ErrorCode

Указывает код NDIS_ERROR_CODE_XXX , который лучше всего описывает ошибку ввода-вывода как одно из следующих значений:

NDIS_ERROR_CODE_RESOURCE_CONFLICT

Драйверу не удалось получить доступ к требуемому ресурсу.

NDIS_ERROR_CODE_OUT_OF_RESOURCES

У оборудования или драйвера закончились ресурсы.

NDIS_ERROR_CODE_HARDWARE_FAILURE

Драйвер обнаружил аппаратную ошибку.

NDIS_ERROR_CODE_ADAPTER_NOT_FOUND

Сетевой адаптер не найден.

NDIS_ERROR_CODE_INTERRUPT_CONNECT

Сбой регистрации прерывания.

NDIS_ERROR_CODE_DRIVER_FAILURE

Произошел сбой драйвера, который не соответствует ни одному из других условий ошибки.

NDIS_ERROR_CODE_BAD_VERSION

Драйвер обнаружил несоответствие версий.

NDIS_ERROR_CODE_TIMEOUT

Истекло время ожидания.

NDIS_ERROR_CODE_NETWORK_ADDRESS

Недопустимый сетевой адрес.

NDIS_ERROR_CODE_UNSUPPORTED_CONFIGURATION

Запрошенная конфигурация драйвера не поддерживается.

NDIS_ERROR_CODE_INVALID_VALUE_FROM_ADAPTER

Оборудование сетевого адаптера предоставило недопустимое значение.

NDIS_ERROR_CODE_MISSING_CONFIGURATION_PARAMETER

Параметр конфигурации драйвера отсутствует в реестре.

NDIS_ERROR_CODE_BAD_IO_BASE_ADDRESS

Недопустимый базовый адрес ввода-вывода для оборудования сетевого адаптера.

NDIS_ERROR_CODE_RECEIVE_SPACE_SMALL

Объем доступной памяти буфера приема слишком мал для получения данных.

NDIS_ERROR_CODE_ADAPTER_DISABLED

Оборудование сетевого адаптера отключено.

[in] NumberOfErrorValues

Указывает количество значений ULONG, следовать за этим параметром.

...

Указывает массив ULONG переменной величины, связанный с ошибкой для ведения журнала.

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

None

Remarks

NdisWriteErrorLogEntry выделяет запись журнала ошибок ввода-вывода, заполняет запись предоставленными сведениями об ошибке, а затем записывает запись в файл журнала ошибок ввода-вывода.

Система устанавливает ограничение на потенциальный размер записи журнала ошибок. Для Windows 2000 и более поздних версий ограничение определяется как ERROR_LOG_MAXIMUM_SIZE. Таким образом , значение NumberOfErrorValues , передаваемое в NdisWriteErrorLogEntry , имеет установленное системой ограничение, которое значительно меньше максимально возможного значения для ULONG.

На практике немногие вызывающие элементы NdisWriteErrorLogEntry даже приближаются к ограничению numberOfErrorValues , так как предоставление большого количества дополнительных значений NDIS_STATUS_XXX не особенно полезно для пользователя или системного администратора, который позже считывает журнал ошибок с помощью средства просмотра событий Win32. Регистрация ошибок ввода-вывода при любой возможной возможности также не особенно полезна для пользователей, поэтому драйвер мини-порта должен регистрировать только критические ошибки ввода-вывода, которые могут помочь пользователю или системному администратору отлаживать сбой сети, за который отвечает сетевая карта на определенном компьютере, или конфликт ресурсов конфигурации, обнаруженный во время инициализации драйвера.

Как правило, драйвер мини-порта вызывает NdisWriteErrorLogEntry во время инициализации функции MiniportInitializeEx , если он не может инициализировать NIC, которым он управляет, или не может выделить аппаратные ресурсы, необходимые для выполнения операций ввода-вывода в сетевом адаптере. Драйвер мини-порта также может вызывать NdisWriteErrorLogEntry при сбое операции сброса устройства из-за неустранимых ошибок оборудования. Ведение журнала ошибок ввода-вывода такого рода помогает пользователям или системным администраторам определить неправильно настроенный сетевой адаптер или сетевой адаптер с неисправными аппаратными компонентами.

Требования

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

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

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes