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 |
---|---|
|
Os dados fornecidos pelo driver em do LogBuffer foram copiados para o arquivo de log. |
|
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.