EventProvider.WriteEvent Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Grava um evento.
Sobrecargas
WriteEvent(EventDescriptor, Object[]) |
Grava um evento. Os dados de evento são especificados como uma matriz de objetos. |
WriteEvent(EventDescriptor, String) |
Grava um evento. Os dados de evento são especificados como uma cadeia de caracteres. |
WriteEvent(EventDescriptor, Int32, IntPtr) |
Grava um evento. Os dados de evento são especificados como um bloco de memória. |
Comentários
Use esses métodos se você usar um manifesto para definir seus eventos.
WriteEvent(EventDescriptor, Object[])
Grava um evento. Os dados de evento são especificados como uma matriz de objetos.
public:
bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, ... cli::array <System::Object ^> ^ eventPayload);
[System.Security.SecurityCritical]
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, params object[] eventPayload);
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, params object[] eventPayload);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * obj[] -> bool
member this.WriteEvent : EventDescriptor * obj[] -> bool
Public Function WriteEvent (ByRef eventDescriptor As EventDescriptor, ParamArray eventPayload As Object()) As Boolean
Parâmetros
- eventDescriptor
- EventDescriptor
Uma instância de EventDescriptor que identifica o evento a ser gravado.
- eventPayload
- Object[]
Uma matriz de objetos que contêm os dados do evento a ser gravado. O objeto precisa estar na ordem especificada no manifesto. A matriz é limitada a 32 objetos, dos quais somente oito podem ser cadeias de caracteres. O tamanho máximo dos dados para o evento é limitado a 64 KB menos o tamanho dos cabeçalhos do evento. O tamanho do evento será menor se o tamanho do buffer da sessão for menor e a sessão incluir itens de dados estendidos com o evento.
Este parâmetro pode ser nulo.
Retornos
É true
se o evento for escrito; caso contrário, false
. Se falso, chame o método GetLastWriteEventError() para determinar a causa da falha.
- Atributos
Exceções
O parâmetro eventPayload
contém muitos objetos ou cadeias de caracteres.
Exemplos
private static Guid providerId = new Guid("{FB33FDA8-45FB-4df0-8A55-EEB4BA88E7E7}");
enum Keyword
{
Read = 0x1,
Write = 0x2,
Local = 0x4,
Remote = 0x8
}
enum Level
{
Critical = 1,
Error,
Warning,
Information,
Verbose
}
EventProvider provider = new EventProvider(providerId);
EventDescriptor readEvent;
string path = @"<PATHGOESHERE>";
UInt64 bytesRead = <ASSIGNVALUE>;
if (provider.IsEnabled(Level.Information, (long)Keyword.Read))
{
unchecked
{
readEvent = new EventDescriptor(0x1, 0x0, 0x10, 0x4, 0x0, 0x0, (long)0x8000000000000005);
}
if (!provider.WriteEvent(ref readEvent, new object[] { path, bytesRead }))
Console.WriteLine(EventProvider.GetLastWriteEventError());
}
provider.Close();
Comentários
Se você chamar o SetActivityId método para especificar um identificador de atividade para o evento, esse método recuperará o identificador do contexto do thread e o incluirá com o evento .
Se não houver suporte para o tipo de objeto, o método gravará o valor do método do Object.ToString objeto na carga. Para obter uma lista de tipos de objeto com suporte, consulte Comentários para a EventProvider classe .
Aplica-se a
WriteEvent(EventDescriptor, String)
Grava um evento. Os dados de evento são especificados como uma cadeia de caracteres.
public:
bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, System::String ^ data);
[System.Security.SecurityCritical]
public bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, string data);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * string -> bool
Public Function WriteEvent (ByRef eventDescriptor As EventDescriptor, data As String) As Boolean
Parâmetros
- eventDescriptor
- EventDescriptor
Uma instância de EventDescriptor que identifica o evento a ser gravado.
- data
- String
A cadeia de caracteres a ser gravada como os dados do evento.
Retornos
É true
se o evento for escrito; caso contrário, false
. Se falso, chame o método GetLastWriteEventError() para determinar a causa da falha.
- Atributos
Exceções
Se data
for null
.
Exemplos
private static Guid providerId = new Guid("{FB33FDA8-45FB-4df0-8A55-EEB4BA88E7E7}");
EventProvider provider = new EventProvider(providerId);
EventDescriptor writeEvent;
if (provider.IsEnabled())
{
unchecked
{
writeEvent = new EventDescriptor(0x2, 0x0, 0x10, 0x3, 0x0, 0x0, (long)0x8000000000000006);
}
if (!provider.WriteEvent(ref writeEvent, "Write event."))
Console.WriteLine(EventProvider.GetLastWriteEventError());
}
provider.Close();
Comentários
Se você chamar o SetActivityId método para especificar um identificador de atividade para o evento, esse método recuperará o identificador do contexto do thread e o incluirá com o evento .
O comprimento máximo da cadeia de caracteres é limitado a 64 KB menos o tamanho dos cabeçalhos de evento. O tamanho do evento será menor se o tamanho do buffer da sessão for menor e a sessão incluir itens de dados estendidos com o evento.
Aplica-se a
WriteEvent(EventDescriptor, Int32, IntPtr)
Grava um evento. Os dados de evento são especificados como um bloco de memória.
protected:
bool WriteEvent(System::Diagnostics::Eventing::EventDescriptor % eventDescriptor, int dataCount, IntPtr data);
[System.Security.SecurityCritical]
protected bool WriteEvent (ref System.Diagnostics.Eventing.EventDescriptor eventDescriptor, int dataCount, IntPtr data);
[<System.Security.SecurityCritical>]
member this.WriteEvent : EventDescriptor * int * nativeint -> bool
Protected Function WriteEvent (ByRef eventDescriptor As EventDescriptor, dataCount As Integer, data As IntPtr) As Boolean
Parâmetros
- eventDescriptor
- EventDescriptor
Uma instância de EventDescriptor que identifica o evento a ser gravado.
- dataCount
- Int32
Tamanho dos dados do evento para o qual o parâmetro data
aponta. O tamanho máximo dos dados do evento é limitado a 64 KB menos o tamanho dos cabeçalhos do evento. O tamanho do evento será menor se o tamanho do buffer da sessão for menor e a sessão incluir itens de dados estendidos com o evento.
- data
-
IntPtr
nativeint
Ponteiro para os dados de evento para gravação.
Retornos
É true
se o evento for escrito; caso contrário, false
. Se falso, chame o método GetLastWriteEventError() para determinar a causa da falha.
- Atributos
Comentários
Se você chamar o SetActivityId método para especificar um identificador de atividade para o evento, esse método recuperará o identificador do contexto do thread e o incluirá com o evento .