EventProvider.WriteEvent Metoda
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Zapisuje zdarzenie.
Przeciążenia
WriteEvent(EventDescriptor, Object[]) |
Zapisuje zdarzenie. Dane zdarzenia są określane jako tablica obiektów. |
WriteEvent(EventDescriptor, String) |
Zapisuje zdarzenie. Dane zdarzenia są określane jako ciąg. |
WriteEvent(EventDescriptor, Int32, IntPtr) |
Zapisuje zdarzenie. Dane zdarzenia są określane jako blok pamięci. |
Uwagi
Użyj tych metod, jeśli użyjesz manifestu do zdefiniowania zdarzeń.
WriteEvent(EventDescriptor, Object[])
Zapisuje zdarzenie. Dane zdarzenia są określane jako tablica obiektów.
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
Parametry
- eventDescriptor
- EventDescriptor
Wystąpienie klasy EventDescriptor identyfikuje zdarzenie do zapisania.
- eventPayload
- Object[]
Tablica obiektów, które zawierają dane zdarzenia do zapisania. Obiekt musi być w kolejności określonej w manifeście. Tablica jest ograniczona do 32 obiektów, z których tylko osiem może być ciągami. Maksymalny rozmiar danych zdarzenia jest ograniczony do 64 KB pomniejszonego o rozmiar nagłówków zdarzeń. Rozmiar zdarzenia jest mniejszy, jeśli rozmiar buforu sesji jest mniejszy, a sesja zawiera rozszerzone elementy danych ze zdarzeniem.
Ten parametr może mieć wartość null.
Zwraca
Czy true
zdarzenie jest zapisywane; w przeciwnym razie . false
Jeśli wartość false, wywołaj metodę GetLastWriteEventError() , aby określić przyczynę błędu.
- Atrybuty
Wyjątki
Parametr eventPayload
zawiera zbyt wiele obiektów lub ciągów.
Przykłady
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();
Uwagi
Jeśli wywołasz metodę SetActivityId w celu określenia identyfikatora działania zdarzenia, ta metoda pobiera identyfikator z kontekstu wątku i dołącza go do zdarzenia.
Jeśli typ obiektu nie jest obsługiwany, metoda zapisuje wartość metody obiektu Object.ToString w ładunku. Aby uzyskać listę obsługiwanych typów obiektów, zobacz uwagi dotyczące EventProvider klasy.
Dotyczy
WriteEvent(EventDescriptor, String)
Zapisuje zdarzenie. Dane zdarzenia są określane jako ciąg.
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
Parametry
- eventDescriptor
- EventDescriptor
Wystąpienie klasy EventDescriptor identyfikuje zdarzenie do zapisania.
- data
- String
Ciąg do zapisania jako danych zdarzenia.
Zwraca
Czy true
zdarzenie jest zapisywane; w przeciwnym razie . false
Jeśli wartość false, wywołaj metodę GetLastWriteEventError() , aby określić przyczynę błędu.
- Atrybuty
Wyjątki
Jeśli data
wartość to null
.
Przykłady
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();
Uwagi
Jeśli wywołasz metodę SetActivityId w celu określenia identyfikatora działania zdarzenia, ta metoda pobiera identyfikator z kontekstu wątku i dołącza go do zdarzenia.
Maksymalna długość ciągu jest ograniczona do 64 KB pomniejszona o rozmiar nagłówków zdarzeń. Rozmiar zdarzenia jest mniejszy, jeśli rozmiar buforu sesji jest mniejszy, a sesja zawiera rozszerzone elementy danych ze zdarzeniem.
Dotyczy
WriteEvent(EventDescriptor, Int32, IntPtr)
Zapisuje zdarzenie. Dane zdarzenia są określane jako blok pamięci.
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
Parametry
- eventDescriptor
- EventDescriptor
Wystąpienie klasy EventDescriptor identyfikuje zdarzenie do zapisania.
- dataCount
- Int32
Rozmiar danych zdarzenia, do których data
wskazuje parametr. Maksymalny rozmiar danych zdarzenia jest ograniczony do 64 KB pomniejszonego o rozmiar nagłówków zdarzeń. Rozmiar zdarzenia jest mniejszy, jeśli rozmiar buforu sesji jest mniejszy, a sesja zawiera rozszerzone elementy danych ze zdarzeniem.
- data
-
IntPtr
nativeint
Wskaźnik do danych zdarzenia do zapisania.
Zwraca
Czy true
zdarzenie jest zapisywane; w przeciwnym razie . false
Jeśli wartość false, wywołaj metodę GetLastWriteEventError() , aby określić przyczynę błędu.
- Atrybuty
Uwagi
Jeśli wywołasz metodę SetActivityId w celu określenia identyfikatora działania zdarzenia, ta metoda pobiera identyfikator z kontekstu wątku i dołącza go do zdarzenia.