EventProvider.WriteEvent Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Schreibt ein Ereignis.
Überlädt
WriteEvent(EventDescriptor, Object[]) |
Schreibt ein Ereignis. Die Ereignisdaten werden als Objektarray angegeben. |
WriteEvent(EventDescriptor, String) |
Schreibt ein Ereignis. Die Ereignisdaten werden als Zeichenfolge angegeben. |
WriteEvent(EventDescriptor, Int32, IntPtr) |
Schreibt ein Ereignis. Die Ereignisdaten werden als Speicherblock angegeben. |
Hinweise
Verwenden Sie diese Methoden, wenn Sie ein Manifest verwenden, um Ihre Ereignisse zu definieren.
WriteEvent(EventDescriptor, Object[])
Schreibt ein Ereignis. Die Ereignisdaten werden als Objektarray angegeben.
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
Parameter
- eventDescriptor
- EventDescriptor
Eine Instanz von EventDescriptor, die das zu schreibende Ereignis identifiziert.
- eventPayload
- Object[]
Ein Array von Objekten, die die zu schreibenden Ereignisdaten enthalten. Die Objekte müssen in der im Manifest angegebenen Reihenfolge angeordnet sein. Das Array ist auf 32 Objekte beschränkt, von denen nur acht Objekte Zeichenfolgen sein dürfen. Die maximale Datengröße für das Ereignis ist auf 64 KB abzüglich der Größe der Ereignisheader beschränkt. Die Ereignisgröße ist geringer, wenn die Puffergröße der Sitzung geringer ist und die Sitzung erweiterte Datenelemente für das Ereignis enthält.
Dieser Parameter kann NULL sein.
Gibt zurück
Ist true
, wenn das Ereignis geschrieben wird, andernfalls false
. Wenn der Wert false ist, rufen Sie die GetLastWriteEventError()-Methode auf, um die Ursache des Fehlers zu ermitteln.
- Attribute
Ausnahmen
Der eventPayload
-Parameter enthält zu viele Objekte oder Zeichenfolgen.
Beispiele
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();
Hinweise
Wenn Sie die SetActivityId -Methode aufrufen, um einen Aktivitätsbezeichner für das Ereignis anzugeben, ruft diese Methode den Bezeichner aus dem Threadkontext ab und schließt ihn in das -Ereignis ein.
Wenn der Objekttyp nicht unterstützt wird, schreibt die -Methode den Wert der -Methode des Object.ToString Objekts in die Nutzlast. Eine Liste der unterstützten Objekttypen finden Sie in den Hinweisen zur EventProvider -Klasse.
Gilt für:
WriteEvent(EventDescriptor, String)
Schreibt ein Ereignis. Die Ereignisdaten werden als Zeichenfolge angegeben.
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
Parameter
- eventDescriptor
- EventDescriptor
Eine Instanz von EventDescriptor, die das zu schreibende Ereignis identifiziert.
- data
- String
Die als Ereignisdaten zu schreibende Zeichenfolge.
Gibt zurück
Ist true
, wenn das Ereignis geschrieben wird, andernfalls false
. Wenn der Wert false ist, rufen Sie die GetLastWriteEventError()-Methode auf, um die Ursache des Fehlers zu ermitteln.
- Attribute
Ausnahmen
Wenn data
gleich null
ist.
Beispiele
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();
Hinweise
Wenn Sie die SetActivityId -Methode aufrufen, um einen Aktivitätsbezeichner für das Ereignis anzugeben, ruft diese Methode den Bezeichner aus dem Threadkontext ab und schließt ihn in das -Ereignis ein.
Die maximale Zeichenfolgenlänge ist auf 64 KB abzüglich der Größe der Ereignisheader beschränkt. Die Ereignisgröße ist geringer, wenn die Puffergröße der Sitzung geringer ist und die Sitzung erweiterte Datenelemente für das Ereignis enthält.
Gilt für:
WriteEvent(EventDescriptor, Int32, IntPtr)
Schreibt ein Ereignis. Die Ereignisdaten werden als Speicherblock angegeben.
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
Parameter
- eventDescriptor
- EventDescriptor
Eine Instanz von EventDescriptor, die das zu schreibende Ereignis identifiziert.
- dataCount
- Int32
Die Größe der Ereignisdaten, auf die der data
-Parameter zeigt. Die maximale Ereignisdatengröße ist auf 64 KB abzüglich der Größe der Ereignisheader beschränkt. Die Ereignisgröße ist geringer, wenn die Puffergröße der Sitzung geringer ist und die Sitzung erweiterte Datenelemente für das Ereignis enthält.
- data
-
IntPtr
nativeint
Der Zeiger auf die zu schreibenden Ereignisdaten.
Gibt zurück
Ist true
, wenn das Ereignis geschrieben wird, andernfalls false
. Wenn der Wert false ist, rufen Sie die GetLastWriteEventError()-Methode auf, um die Ursache des Fehlers zu ermitteln.
- Attribute
Hinweise
Wenn Sie die SetActivityId -Methode aufrufen, um einen Aktivitätsbezeichner für das Ereignis anzugeben, ruft diese Methode den Bezeichner aus dem Threadkontext ab und schließt ihn in das -Ereignis ein.