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 |
---|---|
|
O driver de miniporta pode usar o identificador retornado em LogHandle para gravar dados no arquivo de log alocado pelo NDIS. |
|
Não foi possível alocar um arquivo de log do tamanho especificado. |
|
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) |