Compartilhar via


Função EvtRender (winevt.h)

Renderiza um fragmento XML com base no contexto de renderização especificado.

Sintaxe

BOOL EvtRender(
  [in]  EVT_HANDLE Context,
  [in]  EVT_HANDLE Fragment,
  [in]  DWORD      Flags,
  [in]  DWORD      BufferSize,
  [in]  PVOID      Buffer,
  [out] PDWORD     BufferUsed,
  [out] PDWORD     PropertyCount
);

Parâmetros

[in] Context

Um identificador para o contexto de renderização retornado pela função EvtCreateRenderContext . Esse parâmetro deverá ser definido como NULL se o parâmetro Flags estiver definido como EvtRenderEventXml ou EvtRenderBookmark.

[in] Fragment

Um identificador para um evento ou para um indicador. Defina esse parâmetro como um identificador de indicador se o parâmetro Flags estiver definido como EvtRenderBookmark; caso contrário, defina como um identificador de evento.

[in] Flags

Um sinalizador que identifica o que renderizar. Por exemplo, todo o evento ou propriedades específicas do evento. Para obter os valores possíveis, consulte a enumeração EVT_RENDER_FLAGS .

[in] BufferSize

O tamanho do buffer de buffer, em bytes.

[in] Buffer

Um buffer alocado pelo chamador que receberá a saída renderizada. O conteúdo será uma cadeia de caracteres Unicode terminada em nulo se o parâmetro Flags estiver definido como EvtRenderEventXml ou EvtRenderBookmark. Caso contrário, se Flags estiver definido como EvtRenderEventValues, o buffer conterá uma matriz de estruturas EVT_VARIANT ; um para cada propriedade especificada pelo contexto de renderização. O parâmetro PropertyCount contém o número de elementos na matriz.

Você pode definir esse parâmetro como NULL para determinar o tamanho do buffer necessário.

[out] BufferUsed

O tamanho, em bytes, do buffer alocado pelo chamador que a função usou ou o tamanho do buffer necessário se a função falhar com ERROR_INSUFFICIENT_BUFFER.

[out] PropertyCount

O número das propriedades no parâmetro Buffer se o parâmetro Flags estiver definido como EvtRenderEventValues; caso contrário, zero.

Retornar valor

Valor/código retornado Descrição
TRUE
A função foi bem-sucedida.
FALSE
A função falhou. Chame a função GetLastError para obter o código de erro.

Comentários

Há uma relação um-para-um entre a matriz de expressões XPath que você especificou quando chamou a função EvtCreateRenderContext e a matriz dos valores retornados no buffer.

Quando um EVT_HANDLE dessa função é usado na função EvtRender , a lista de valores retornados por essa função consiste em uma matriz de estruturas EVT_VARIANT , cada uma correspondente a exatamente uma das expressões XPATH na matriz de parâmetros ValuePaths original em ordem de aparência. Cada estrutura EVT_VARIANT contém o valor identificado por sua expressão XPATH correspondente para o evento que está sendo renderizado. Se nenhum valor for encontrado, a estrutura EVT_VARIANT conterá NULL. Se houver vários valores, a estrutura EVT_VARIANT conterá o primeiro valor encontrado.

Tenha cuidado ao comparar números de ponto flutuante em consultas XPath. Qualquer representação de cadeia de caracteres de um número de ponto flutuante é aproximada, portanto, o valor exibido em XML pode não corresponder ao número armazenado com o evento. Os números de ponto flutuante devem ser comparados como sendo menores ou maiores que uma constante.

Exemplos

Para obter um exemplo que mostra como usar essa função, consulte Eventos de renderização e eventos de indicador.

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 winevt.h
Biblioteca Wevtapi.lib
DLL Wevtapi.dll

Confira também

EvtCreateRenderContext