Função NdisMCreateLog (ndis.h)

O NdisMCreateLog aloca e abre um arquivo de log no qual um driver de miniporto pode gravar dados a serem exibidos por um aplicativo Win32 dedicado ao driver.

Sintaxe

NDIS_STATUS NdisMCreateLog(
  [in]  NDIS_HANDLE  MiniportAdapterHandle,
  [in]  UINT         Size,
  [out] PNDIS_HANDLE LogHandle
);

Parâmetros

[in] MiniportAdapterHandle

Especifica a entrada do identificador para MiniportInitializeEx.

[in] Size

Especifica quantos bytes alocar para o arquivo de log. O NDIS cria um arquivo temporário que não é armazenado no disco.

[out] LogHandle

Ponteiro para uma variável fornecida pelo chamador na qual essa função retorna um identificador para o arquivo de log. Esse identificador é um parâmetro necessário para as funções NdisXxxLog que o driver de miniporto chama posteriormente.

Retornar valor

NdisMCreateLog pode retornar um dos seguintes:

Código de retorno Descrição
NDIS_STATUS_SUCCESS
O driver de miniporta pode usar o identificador retornado em LogHandle para gravar dados no arquivo de log alocado pelo NDIS.
NDIS_STATUS_RESOURCES
Não foi possível alocar um arquivo de log do tamanho especificado.
NDIS_STATUS_FAILURE
O driver já chamado NdisMCreateLog com êxito.

Comentários

Um driver de miniporta pode chamar o NdisM.. Funções de log para fornecer qualquer informação que o gravador de driver escolher. Quaisquer que sejam os logs do driver de miniporta podem ser exibidos por um aplicativo Win32 dedicado ao driver. Esse aplicativo chama a função Win32 DeviceIoControl com IOCTL_NDIS_GET_LOG_DATA periodicamente para recuperar o driver de miniporto gravado no arquivo de log. Por exemplo, um driver de miniporto em desenvolvimento pode gravar dados de teste a serem exibidos por seu aplicativo correspondente.

Se NdisMCreateLog retornar NDIS_STATUS_RESOURCES, o driver poderá ajustar o Tamanho original para baixo e tentar chamar essa função novamente. No entanto, um driver de miniporto não pode chamar NdisMCreateLog para criar mais de um arquivo de log após a êxito de uma chamada.

Qualquer que seja o tamanho do arquivo de log alocado, as chamadas subsequentes para NdisMWriteLogData armazenam dados nesse arquivo, que é tratado como um buffer circular. Ou seja, uma sequência de chamadas para NdisMWriteLogData eventualmente substitui os dados originalmente gravados no arquivo de log.

Requisitos

Requisito Valor
Cliente mínimo com suporte Com suporte para drivers NDIS 6.0 e NDIS 5.1 (consulte NdisMCreateLog (NDIS 5.1)) no Windows Vista. Com suporte para drivers NDIS 5.1 (consulte NdisMCreateLog (NDIS 5.1)) no Windows XP.
Plataforma de Destino Universal
Cabeçalho ndis.h (inclua Ndis.h)
Biblioteca Ndis.lib
IRQL PASSIVE_LEVEL
Regras de conformidade da DDI Irql_Miniport_Driver_Function(ndis)

Confira também

MiniportInitializeEx

NdisMCloseLog

NdisMFlushLog

NdisMWriteLogData