Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
NdisMWriteLogData передает предоставленные драйвером сведения в файл журнала для потребления и отображения приложением Win32 с выделенным драйвером.
Синтаксис
NDIS_STATUS NdisMWriteLogData(
[in] NDIS_HANDLE LogHandle,
[in] PVOID LogBuffer,
[in] UINT LogBufferSize
);
Параметры
[in] LogHandle
Задает дескриптор, возвращаемый NdisMCreateLog.
[in] LogBuffer
Указатель на выделенный драйвером буфер, содержащий сведения, которые нужно записать.
[in] LogBufferSize
Указывает, сколько байтов данных необходимо скопировать в файл журнала.
Возвращаемое значение
NdisMWriteLogData может вернуть одно из следующих элементов:
Возвращаемый код | Описание |
---|---|
|
Предоставленные драйвером данные LogBuffer были скопированы в файл журнала. |
|
Указанный LogBufferSize слишком велик, то есть больше самого файла журнала. |
Замечания
Если выделенное драйвером приложение имеет невыполненные запросы для данных файла журнала, NdisMWriteLogData удовлетворяет этому запросу, как только он скопировал предоставленные драйвером сведения в файл журнала.
Драйвер минипорта может предоставить указатель LogBuffer на расположение в стеке ядра, если он в настоящее время работает в IRQL < DISPATCH_LEVEL. В противном случае LogBuffer должен получить доступ к буферу, который драйвер, выделенный из непагрегированного пула.
Драйвер должен освободить любую блокировку спина, удерживаемую перед вызовом NdisMWriteLogData.
NdisMWriteLogData не распознает границы между записями журналов, а также не функция Win32, DeviceIoControl, которые приложения могут вызываться с помощью IOCTL_NDIS_GET_LOG_DATA для получения данных, записанных в файл журнала NDIS с помощью мини-порта NDIS. NdisMWriteLogData записывает все данные, предоставленные драйвером мини-порта, в LogBuffer в файл журнала в виде потока байтов. DeviceIoControl считывает данные из такого журнала, как поток байтов, а также.
Следовательно, приложение, считывающее журнал NDIS, должно собирать полученные данные в записи. Чтобы помочь такому приложению в сборе записей переменной длины, любой драйвер минипорта, записываемый в такой журнал, может вставить маркер в начале каждой записи. Затем приложение, отформатированное данные, может искать эти маркеры, чтобы определить начало каждой записи.