Compartilhar via


Função TdhGetProperty (tdh.h)

Recupera um valor de propriedade dos dados do evento.

Sintaxe

TDHSTATUS TdhGetProperty(
  [in]  PEVENT_RECORD             pEvent,
  [in]  ULONG                     TdhContextCount,
  [in]  PTDH_CONTEXT              pTdhContext,
  [in]  ULONG                     PropertyDataCount,
  [in]  PPROPERTY_DATA_DESCRIPTOR pPropertyData,
  [in]  ULONG                     BufferSize,
  [out] PBYTE                     pBuffer
);

Parâmetros

[in] pEvent

O registro de evento passado para o retorno de chamada EventRecordCallback . Para obter detalhes, consulte a estrutura EVENT_RECORD .

[in] TdhContextCount

Número de elementos em pTdhContext.

[in] pTdhContext

Matriz de valores de contexto somente para eventos WPP ou ETW clássicos; caso contrário, NULL. Para obter detalhes, consulte a estrutura TDH_CONTEXT . A matriz não deve conter tipos de contexto duplicados.

[in] PropertyDataCount

Número de estruturas de descritor de dados em pPropertyData.

[in] pPropertyData

Matriz de estruturas PROPERTY_DATA_DESCRIPTOR que define a propriedade a ser recuperada.

Se você chamou a função TdhGetPropertySize para recuperar o tamanho do buffer necessário para a propriedade , você pode usar os mesmos descritores de dados.

Se você estiver recuperando uma propriedade que não é membro de uma estrutura, poderá especificar um único descritor de dados. Se você estiver recuperando uma propriedade que seja membro de uma estrutura, especifique uma matriz de dois descritores de dados (estruturas não podem conter ou referenciar outras estruturas).

[in] BufferSize

Tamanho do buffer pBuffer , em bytes. Você pode obter esse valor do parâmetro pPropertySize ao chamar a função TdhGetPropertySize .

[out] pBuffer

Buffer alocado pelo usuário que recebe os dados da propriedade.

Retornar valor

Retorna ERROR_SUCCESS se tiver êxito. Caso contrário, essa função retornará um dos seguintes códigos de retorno, além de outros.

Código de retorno Descrição
ERROR_NOT_FOUND
O esquema do evento não foi encontrado ou a propriedade especificada não foi encontrada.
ERROR_INSUFFICIENT_BUFFER
O buffer pBuffer é muito pequeno. Para obter o tamanho do buffer necessário, chame TdhGetPropertySize.
ERROR_INVALID_PARAMETER
Um ou mais dos parâmetros não são válidos.
ERROR_FILE_NOT_FOUND
O atributo resourceFileName no manifesto contém o local do binário do provedor. Quando você registra o manifesto, o local é gravado no registro. O TDH não pôde localizar o binário com base no local registrado.
ERROR_WMI_SERVER_UNAVAILABLE
O serviço WMI não está disponível.

Comentários

Se o evento for um evento WPP ou ETW clássico, você poderá especificar informações de contexto usadas para ajudar a analisar as informações do evento. O evento será um evento WPP se o sinalizador EVENT_HEADER_FLAG_TRACE_MESSAGE estiver definido no membro Flags do EVENT_HEADER (consulte o membro EventHeader do EVENT_RECORD). O evento será um evento ETW herdado se o sinalizador EVENT_HEADER_FLAG_CLASSIC_HEADER estiver definido.

Para obter uma lista de propriedades para eventos WPP e seus tipos de dados, consulte PROPERTY_DATA_DESCRIPTOR.

Exemplos

Para obter um exemplo que mostra como chamar essa função para recuperar o valor de uma propriedade de nível superior ou o membro de uma estrutura, consulte Usando TdhGetProperty para consumir dados de evento.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho tdh.h
Biblioteca Tdh.lib
DLL Tdh.dll

Confira também

TdhGetEventInformation

TdhGetPropertySize