Функция 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 (include Ndis.h)
библиотеки Ndis.lib
IRQL PASSIVE_LEVEL
правил соответствия DDI Irql_Miniport_Driver_Function(ndis)

См. также

MiniportInitializeEx

NdisMCloseLog

NdisMFlushLog

NdisMWriteLogData