Função ReportEventA (winbase.h)
Grava uma entrada no final do log de eventos especificado.
Sintaxe
BOOL ReportEventA(
[in] HANDLE hEventLog,
[in] WORD wType,
[in] WORD wCategory,
[in] DWORD dwEventID,
[in] PSID lpUserSid,
[in] WORD wNumStrings,
[in] DWORD dwDataSize,
[in] LPCSTR *lpStrings,
[in] LPVOID lpRawData
);
Parâmetros
[in] hEventLog
Um identificador para o log de eventos. A função RegisterEventSource retorna esse identificador.
A partir do Windows XP com SP2, esse parâmetro não pode ser um identificador para o log de de segurança do
[in] wType
O tipo de evento a ser registrado. Esse parâmetro pode ser um dos valores a seguir.
Para obter mais informações sobre tipos de eventos, consulte Tipos de Eventos.
[in] wCategory
A categoria do evento. Estas são informações específicas da origem; a categoria pode ter qualquer valor. Para obter mais informações, consulte Categorias de Eventos.
[in] dwEventID
O identificador de evento. O identificador de evento especifica a entrada no arquivo de mensagem associado à origem do evento. Para obter mais informações, consulte Identificadores de Eventos.
[in] lpUserSid
Um ponteiro para o identificador de segurança do usuário atual. Esse parâmetro pode ser NULL se o identificador de segurança não for necessário.
[in] wNumStrings
O número de cadeias de caracteres de inserção na matriz apontada pelo parâmetro lpStrings. Um valor zero indica que nenhuma cadeia de caracteres está presente.
[in] dwDataSize
O número de bytes de dados brutos (binários) específicos ao evento a serem gravados no log. Se esse parâmetro for zero, nenhum dado específico do evento estará presente.
[in] lpStrings
Um ponteiro para um buffer que contém uma matriz de cadeias de caracteres terminadas em nulo que são mescladas na mensagem antes que o Visualizador de Eventos exiba a cadeia de caracteres para o usuário. Esse parâmetro deve ser um ponteiro válido (ou NULL), mesmo que wNumStrings seja zero. Cada cadeia de caracteres é limitada a 31.839 caracteres.
Antes do Windows Vista: Cada cadeia de caracteres é limitada a 32 mil caracteres.
[in] lpRawData
Um ponteiro para o buffer que contém os dados binários. Esse parâmetro deve ser um ponteiro válido (ou NULL), mesmo que o parâmetro dwDataSize seja zero.
Valor de retorno
Se a função for bem-sucedida, o valor retornado não será zero, indicando que a entrada foi gravada no log.
Se a função falhar, o valor retornado será zero. Para obter informações de erro estendidas, chame GetLastError, que retorna um dos seguintes códigos de erro estendidos.
Observações
Essa função é usada para registrar um evento em log. A entrada é gravada no final do log configurado para a origem identificada pelo parâmetro hEventLog. A função ReportEvent adiciona o tempo, o comprimento da entrada e os deslocamentos antes de armazenar a entrada no log. Para habilitar a função para adicionar o nome de usuário, você deve fornecer o SID do usuário no parâmetro lpUserSid.
Há limites de tamanho diferentes no tamanho dos dados da mensagem que podem ser registrados dependendo da versão do Windows usada pelo cliente em que o aplicativo é executado e o servidor em que a mensagem é registrada. O servidor é determinado pelo parâmetro
Se a cadeia de caracteres que você registra contiver %n, em que n for um valor inteiro (por exemplo, %1), o visualizador de eventos o tratará como uma cadeia de caracteres de inserção. Como um endereço IPv6 pode conter essa sequência de caracteres, você deve fornecer um especificador de formato (! S!) para registrar uma mensagem de evento que contenha um endereço IPv6. Esse especificador informa ao código de formatação para usar a cadeia de caracteres literalmente e não executar nenhuma expansão adicional (por exemplo, "meu endereço IPv6 é: %1! S!").
Exemplos
Para obter um exemplo, consulte Relatar umde eventos.
Nota
O cabeçalho winbase.h define ReportEvent como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [somente aplicativos da área de trabalho] |
servidor com suporte mínimo | Windows 2000 Server [somente aplicativos da área de trabalho] |
da Plataforma de Destino |
Windows |
cabeçalho | winbase.h (inclua Windows.h) |
biblioteca | Advapi32.lib |
de DLL |
Advapi32.dll |
Consulte também
formato de arquivo de log de eventos