Compartilhar via


Função TdhGetPropertySize (tdh.h)

Recupera o tamanho de um ou mais valores de propriedade nos dados do evento.

Sintaxe

TDHSTATUS TdhGetPropertySize(
  [in]  PEVENT_RECORD             pEvent,
  [in]  ULONG                     TdhContextCount,
  [in]  PTDH_CONTEXT              pTdhContext,
  [in]  ULONG                     PropertyDataCount,
  [in]  PPROPERTY_DATA_DESCRIPTOR pPropertyData,
  [out] ULONG                     *pPropertySize
);

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 definem a propriedade cujo tamanho você deseja recuperar.

Você pode passar essa mesma matriz para a função TdhGetProperty para recuperar os dados da propriedade.

Se você estiver recuperando o tamanho de uma propriedade que não é membro de uma estrutura, poderá especificar um único descritor de dados. Se você estiver recuperando o tamanho de uma propriedade que é membro de uma estrutura, especifique uma matriz de dois descritores de dados (estruturas não podem conter ou referenciar outras estruturas). Para obter mais informações sobre como especificar esse parâmetro, consulte o código de exemplo abaixo.

[out] pPropertySize

Tamanho da propriedade, em bytes. Use esse valor para alocar o buffer passado no parâmetro pBuffer da função TdhGetProperty .

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 o mapa especificado não foi encontrado.

Se você usou uma classe MOF para definir o evento, o TDH procura o esquema no repositório WMI. Se você usou um manifesto para definir o evento, o TDH examinará os recursos do provedor. Se você usar um manifesto, o atributo resourceFileName do elemento provider definirá o local em que o TDH espera encontrar os recursos.

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.

Exemplos

Para obter um exemplo que mostra como chamar essa função, 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

TdhGetProperty