EventProvider.WriteEvent Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Zapíše událost.
Přetížení
WriteEvent(EventDescriptor, Object[]) |
Zapíše událost. Data události jsou určena jako pole objektů. |
WriteEvent(EventDescriptor, String) |
Zapíše událost. Data události se zadává jako řetězec. |
WriteEvent(EventDescriptor, Int32, IntPtr) |
Zapíše událost. Data události jsou určena jako blok paměti. |
Poznámky
Tyto metody použijte, pokud k definování událostí používáte manifest.
WriteEvent(EventDescriptor, Object[])
Zapíše událost. Data události jsou určena jako pole objektů.
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
Instance EventDescriptor , která identifikuje událost k zápisu.
- eventPayload
- Object[]
Pole objektů, které obsahují data události k zápisu. Objekt musí být v pořadí určeném v manifestu. Pole je omezeno na 32 objektů, z nichž pouze osm může být řetězce. Maximální velikost dat pro událost je omezená na 64 kB minus velikost hlaviček událostí. Velikost události je menší, pokud je velikost vyrovnávací paměti relace menší a relace zahrnuje rozšířené datové položky s událostí.
Tento parametr může mít hodnotu null.
Návraty
Je true
, pokud je událost zapsána, jinak hodnota false
. Pokud je false, zavolejte metodu GetLastWriteEventError() a určete příčinu selhání.
- Atributy
Výjimky
Parametr eventPayload
obsahuje příliš mnoho objektů nebo řetězců.
Příklady
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();
Poznámky
Pokud zavoláte metodu SetActivityId k určení identifikátoru aktivity pro událost, tato metoda načte identifikátor z kontextu vlákna a zahrne ho s událostí.
Pokud typ objektu není podporován, metoda zapíše hodnotu metody objektu Object.ToString do datové části. Seznam podporovaných typů objektů naleznete v poznámkách pro EventProvider třídu.
Platí pro
WriteEvent(EventDescriptor, String)
Zapíše událost. Data události se zadává jako řetězec.
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
Instance EventDescriptor , která identifikuje událost k zápisu.
- data
- String
Řetězec, který se má zapsat jako data události.
Návraty
Je true
, pokud je událost zapsána, jinak hodnota false
. Pokud je false, zavolejte metodu GetLastWriteEventError() a určete příčinu selhání.
- Atributy
Výjimky
Pokud data
je null
.
Příklady
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();
Poznámky
Pokud zavoláte metodu SetActivityId k určení identifikátoru aktivity pro událost, tato metoda načte identifikátor z kontextu vlákna a zahrne ho s událostí.
Maximální délka řetězce je omezená na 64 kB minus velikost hlaviček událostí. Velikost události je menší, pokud je velikost vyrovnávací paměti relace menší a relace zahrnuje rozšířené datové položky s událostí.
Platí pro
WriteEvent(EventDescriptor, Int32, IntPtr)
Zapíše událost. Data události jsou určena jako blok paměti.
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
Instance EventDescriptor , která identifikuje událost k zápisu.
- dataCount
- Int32
Velikost dat události, na která data
parametr odkazuje. Maximální velikost dat události je omezená na 64 kB minus velikost hlaviček událostí. Velikost události je menší, pokud je velikost vyrovnávací paměti relace menší a relace zahrnuje rozšířené datové položky s událostí.
- data
-
IntPtr
nativeint
Ukazatel na data události, která se mají zapsat.
Návraty
Je true
, pokud je událost zapsána, jinak hodnota false
. Pokud je false, zavolejte metodu GetLastWriteEventError() a určete příčinu selhání.
- Atributy
Poznámky
Pokud zavoláte metodu SetActivityId k určení identifikátoru aktivity pro událost, tato metoda načte identifikátor z kontextu vlákna a zahrne ho s událostí.