Compartilhar via


Função NdisMWriteLogData (ndis.h)

NdisMWriteLogData transfere informações fornecidas pelo driver para o arquivo de log para consumo e exibição por um aplicativo Win32 dedicado ao driver.

Sintaxe

NDIS_STATUS NdisMWriteLogData(
  [in] NDIS_HANDLE LogHandle,
  [in] PVOID       LogBuffer,
  [in] UINT        LogBufferSize
);

Parâmetros

[in] LogHandle

Especifica o identificador retornado por NdisMCreateLog.

[in] LogBuffer

Ponteiro para um buffer alocado pelo driver que contém as informações a serem gravadas.

[in] LogBufferSize

Especifica quantos bytes de dados copiar para o arquivo de log.

Valor de retorno

NdisMWriteLogData pode retornar um dos seguintes:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
Os dados fornecidos pelo driver em do LogBuffer foram copiados para o arquivo de log.
NDIS_STATUS_BUFFER_OVERFLOW
O do LogBufferSize determinado é muito grande, ou seja, maior do que o próprio arquivo de log.

Observações

Se o aplicativo dedicado ao driver tiver uma solicitação pendente para dados de arquivo de log, NdisMWriteLogData atenderá a essa solicitação assim que tiver copiado as informações fornecidas pelo driver no arquivo de log.

O driver de miniporto pode fornecer um ponteiro LogBuffer para um local na pilha de kernel se ele estiver em execução no momento no < DISPATCH_LEVEL IRQL. Caso contrário, do LogBuffer deve acessar um buffer que o driver alocou do pool nãopagado.

O driver deve liberar qualquer bloqueio de rotação que estiver segurando antes de chamar NdisMWriteLogData.

NdisMWriteLogData não reconhece limites entre registros de log, nem a função Win32, DeviceIoControl, que os aplicativos podem chamar com IOCTL_NDIS_GET_LOG_DATA para recuperar dados gravados em um arquivo de log NDIS por um driver de miniporto NDIS. NdisMWriteLogData grava todos os dados fornecidos pelo driver de miniport no LogBuffer no arquivo de log como um fluxo de bytes. DeviceIoControl lê os dados de um log como um fluxo de bytes também.

Consequentemente, um aplicativo que lê um log NDIS deve coletar dados recuperados em registros. Para auxiliar esse aplicativo na coleta de registros de comprimento variável, qualquer gravação de driver de miniporto em um log pode inserir um marcador no início de cada registro. Em seguida, o aplicativo que formata os dados recuperados pode pesquisar esses marcadores para determinar o início de cada registro.

Requisitos

Requisito Valor
de cliente com suporte mínimo Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisMWriteLogData (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisMWriteLogData (NDIS 5.1)) no Windows XP.
da Plataforma de Destino Universal
cabeçalho ndis.h (inclua Ndis.h)
biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL
regras de conformidade de DDI Irql_Miniport_Driver_Function(ndis)

Consulte também

NdisAllocateFromNPagedLookasideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog

NdisMFlushLog

NdisReleaseSpinLock