Função NdisMWriteLogData (ndis.h)

O 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.

Retornar valor

NdisMWriteLogData pode retornar um dos seguintes:

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

Comentários

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 para o arquivo de log.

O driver de miniporta poderá fornecer um ponteiro LogBuffer para um local na pilha de kernel se ele estiver em execução no momento no IRQL < DISPATCH_LEVEL. Caso contrário, o LogBuffer deve acessar um buffer alocado pelo driver 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 também lê os dados de um log como um fluxo de bytes.

Consequentemente, um aplicativo que lê um log do NDIS deve coletar dados recuperados em registros. Para auxiliar esse aplicativo na coleta de registros de comprimento variável, qualquer driver de miniporta que grava em tal 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
Cliente mínimo com suporte 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.
Plataforma de Destino Universal
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL <= DISPATCH_LEVEL
Regras de conformidade da DDI Irql_Miniport_Driver_Function(ndis)

Confira também

NdisAllocateFromNPagedLookasideList NdisAllocateMemoryWithTagPriority

NdisMCloseLog

NdisMCreateLog

NdisMFlushLog

NdisReleaseSpinLock