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 |
---|---|
|
O esquema do evento não foi encontrado ou a propriedade especificada não foi encontrada. |
|
O buffer pBuffer é muito pequeno. Para obter o tamanho do buffer necessário, chame TdhGetPropertySize. |
|
Um ou mais dos parâmetros não são válidos. |
|
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. |
|
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 |