Функция 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 может вернуть одно из следующих элементов:
Код возврата | Описание |
---|---|
|
Драйвер мини-порта может использовать дескриптор, возвращенный в LogHandle , для записи данных в файл журнала, выделенный NDIS. |
|
Не удалось выделить файл журнала указанного размера. |
|
Драйвер уже с именем 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) |