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

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

Синтаксис

NDIS_STATUS NdisMCreateLog(
  [in]  NDIS_HANDLE  MiniportAdapterHandle,
  [in]  UINT         Size,
  [out] PNDIS_HANDLE LogHandle
);

Параметры

[in] MiniportAdapterHandle

Указывает входные данные дескриптора для MiniportInitializeEx.

[in] Size

Указывает, сколько байтов необходимо выделить для файла журнала. NDIS создает временный файл, который не хранится на диске.

[out] LogHandle

Указатель на переменную, предоставленную вызывающей стороны, в которой эта функция возвращает дескриптор в файл журнала. Этот дескриптор является обязательным параметром для функций NdisXxxLog , которые впоследствии вызывает драйвер мини-порта.

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

NdisMCreateLog может вернуть одно из следующих элементов:

Код возврата Описание
NDIS_STATUS_SUCCESS
Драйвер мини-порта может использовать дескриптор, возвращенный в LogHandle , для записи данных в файл журнала, выделенный NDIS.
NDIS_STATUS_RESOURCES
Не удалось выделить файл журнала указанного размера.
NDIS_STATUS_FAILURE
Драйвер уже с именем NdisMCreateLog успешно.

Комментарии

Драйвер мини-порта может вызвать NdisM.. Функции журнала для предоставления любых сведений, которые выбирает модуль записи драйверов. Независимо от того, какие журналы драйверов мини-порта могут отображаться выделенным для драйвера приложением Win32. Такое приложение вызывает функцию Win32 DeviceIoControl с IOCTL_NDIS_GET_LOG_DATA периодически, чтобы получить все, что драйвер мини-порта записал в файл журнала. Например, недостаточно разрабатываемый драйвер мини-порта может записывать тестовые данные для отображения соответствующим приложением.

Если NdisMCreateLog возвращает NDIS_STATUS_RESOURCES, драйвер может уменьшить исходный размер и попытаться вызвать эту функцию еще раз. Однако драйвер мини-порта не может вызвать NdisMCreateLog , чтобы создать несколько файлов журнала после успешного вызова.

Независимо от размера выделенного файла журнала последующие вызовы NdisMWriteLogData сохраняют данные в этом файле, который обрабатывается как циклический буфер. То есть последовательность вызовов NdisMWriteLogData в конечном итоге перезаписывает данные, изначально записанные в файл журнала.

Требования

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

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

MiniportInitializeEx

NdisMCloseLog

NdisMFlushLog

NdisMWriteLogData