Função WmiTraceMessage (wdm.h)

A rotina WmiTraceMessage adiciona uma mensagem ao log de saída de uma sessão de rastreamento de software WPP .

Sintaxe

NTSTATUS WmiTraceMessage(
  [in] TRACEHANDLE LoggerHandle,
  [in] ULONG       MessageFlags,
  [in] LPCGUID     MessageGuid,
  [in] USHORT      MessageNumber,
       ...         
);

Parâmetros

[in] LoggerHandle

Especifica um identificador de rastreamento para uma sessão de rastreamento de software.

[in] MessageFlags

Especifica um OR bit a bit de um ou mais sinalizadores de mensagem. Consulte a seção Comentários para obter detalhes.

[in] MessageGuid

Especifica um GUID que identifica a classe de mensagens de rastreamento de software.

[in] MessageNumber

Identifica o subtipo de mensagem. O significado dos subtipos é específico para a classe de rastreamento de software e o provedor.

[in] ...

Fornece uma lista necessária de parâmetros de mensagem que especificam um conjunto de partes de mensagem. Os parâmetros são organizados como uma sequência de pares de parâmetros, em que cada par especifica uma parte da mensagem completa. Cada par de parâmetros consiste em um ponteiro PVOID para dados, seguido imediatamente por um valor ULONG que especifica o comprimento dos dados. A lista de parâmetros deve ser encerrada por um ponteiro PVOID NULL seguido por um ULONG(0).

Retornar valor

WmiTraceMessage retorna um dos seguintes valores:

Código de retorno Descrição
STATUS_SUCCESS
A operação foi concluída com sucesso.
STATUS_INVALID_HANDLE
LoggerHandle não é um identificador de rastreamento de software válido.
STATUS_NO_MEMORY
Não há memória de buffer suficiente para registrar a mensagem em log. Consulte a seção Comentários.
Outro valor NTSTATUS
Ocorreu um erro interno.

Comentários

Um chamador pode usar WmiTraceMessage ou WmiTraceMessageVa para adicionar uma mensagem ao log de saída de uma sessão de rastreamento de software WPP. O WmiTraceMessage simplifica o código de um chamador manipulando o mecanismo de lista de variáveis antes de chamar WmiTraceMessageVa.

Um chamador pode definir os seguintes sinalizadores de mensagem:

Sinalizador Descrição
TRACE_MESSAGE_SEQUENCE Inclua um número de sequência na mensagem. O sequenciamento de mensagens só poderá ser usado se estiver definido para a sessão de rastreamento de software especificada por LoggerHandle.
TRACE_MESSAGE_GUID MessageGuid especifica um GUID que identifica uma classe de rastreamento de software. Esse sinalizador deve ser definido.
TRACE_MESSAGE_TIMESTAMP Inclua um carimbo de data/hora na mensagem.
TRACE_MESSAGE_PERFORMANCE_TIMESTAMP Esse sinalizador não é implementado e está obsoleto. Ele não deve ser usado.
TRACE_MESSAGE_SYSTEMINFO Inclua o identificador de thread (TID) e o PID (identificador de processo) na mensagem.
 

Uma mensagem não será registrada se uma das seguintes opções for verdadeira:

  • O tamanho total, em bytes, dos dados da mensagem e do cabeçalho da mensagem é maior do que o tamanho dos buffers de mensagens individuais alocados para uma sessão de rastreamento de software. (O tamanho máximo do cabeçalho da mensagem é de 48 bytes.)
  • Todos os buffers de mensagem alocados para a sessão de rastreamento de software estão cheios.
O WmiTraceMessage é executado no IRQL do chamador.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível no Windows XP e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL Consulte a seção Observações.

Confira também

IoWmiWriteEvent

TRACE_INFORMATION_CLASS

WmiFireEvent

WmiQueryTraceInformation

WmiTraceMessageVa