Поделиться через


Функция 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, связанный с ошибкой, связанной с записью в журнал.

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

Никакой

Замечания

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

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается для драйверов NDIS 6.0 и NDIS 5.1 (см. NdisWriteErrorLogEntry (NDIS 5.1)) в Windows Vista. Поддерживается для драйверов NDIS 5.1 (см. NdisWriteErrorLogEntry (NDIS 5.1)) в Windows XP.
целевая платформа Всеобщий
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_Miscellaneous_Function(ndis)

См. также

MiniportInitializeEx

MiniportResetEx

NdisMSetMiniportAttributes