EseménykövetésI MOF-minősítők
Használja az ebben a szakaszban meghatározott minősítőket a szolgáltató MOF-osztályának, esemény MOF osztály, eseménytípusÚOF-osztálylétrehozásakor, és az eseménytípus MOF osztályánaktulajdonságait. Néhány ilyen minősítőt tartalmazó példa: Az eseményséma közzététele.
SzolgáltatóI MOF-osztály minősítői
Az alábbi táblázat a szolgáltatóI MOF-osztályban megadható minősítőket sorolja fel.
Jelző | Adattípus | Leírás |
---|---|---|
Guid | sztring | Szükséges. Sztring guid, amely egyedileg azonosítja a szolgáltatót. Például guid("{3F92E6E0-9886-434e-85DB-0D11D3904C0A}"). Ez ugyanaz a GUID, amelyet akkor használ, amikor meghívja a RegisterTraceGuids függvényt a szolgáltató regisztrálásához. |
Esemény MOF-osztály minősítői
Az alábbi táblázat felsorolja az eseményosztályokon (a kapcsolódó eseménytípusosztályokat csoportosító szülőosztályon) megadható minősítőket.
Jelző | Adattípus | Leírás |
---|---|---|
Guid | sztring | Szükséges. Sztring guid, amely azonosítja az események egy osztályát. Például guid("{3F92E6E0-9886-434e-85DB-0D11D3904C0A}"). Az eseményszolgáltatók a guid használatával állítják be a EVENT_TRACE_HEADER. Guid tag, hogy a felhasználók meghatározhassák az általuk fogadott események osztályát. |
EventVersion | egész szám | Ez a minősítő nem kötelező az eseménykövetési osztály legújabb verziójához, és az osztály összes régebbi verziójához szükséges. Az osztály legújabb verziója vagy nem adja meg az EventVersion minősítőt, vagy a legmagasabb verziószámmal rendelkezik. A verziószámok 0-val kezdődnek, például EventVersion(0). Az osztály új verziójának létrehozásakor általában az előző verziót is átnevezi <>_Vn osztálynévre, ahol n egy 0-tól kezdődő n növekményes szám. Példa: FileIo és FileIo_V0. |
EseménytípusÚ MOF-osztály minősítői
Az alábbi táblázat felsorolja az eseménytípus-osztályban (az eseménytulajdonság adatait meghatározó osztályban) megadható minősítőket.
Jelző | Érték | Leírás |
---|---|---|
EventType | egész szám | Szükséges. Azonosítja az eseménytípus-osztályt. Például: EventType(1). Az eseményszolgáltató ugyanazt az eseménytípus-értéket használja a EVENT_TRACE_HEADER beállításához. Class.Type. Ha ugyanazt az MOF-osztályt több eseménytípushoz használják (mivel ugyanazokat az eseményadatokat használják), adja meg az eseménytípus értékét egész számok tömbjeként, például EventType{12,15}. |
EventTypeName | sztring | Szabadon választható. Az esemény típusát ismerteti. Például: EventTypeName("Start"). Ha ugyanazt az MOF-osztályt több eseménytípushoz is használják (mivel ugyanazokat az eseményadatokat használják), adja meg az eseménytípus névértékét sztringek tömbjeként, például EventTypeName{"Start", "End"}. Az EventTypeName tömb elemei közvetlenül az EventType tömbnek felelnek meg. |
Tulajdonság-minősítők
Az alábbi táblázat felsorolja a tulajdonságon megadható minősítőket.
Jelző | Leírás | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
BitMap- | Megadja a sztringértékekhez megfeleltetendő bitpozíciókat. Ha ezt a minősítőt adja meg, meg kell adnia a BitValues minősítőt is. | ||||||||||
BitValues | Sztringértékek. Ha a BitMap minősítő is meg van adva, a sztringek közvetlenül a BitMap minősítő értékeinek felelnek meg. Ellenkező esetben feltételezzük, hogy a tulajdonság értéke egy egy-alapú index az értéksztringek között (az első bit a lista első sztringjének felel meg). | ||||||||||
bővítmény | További információt nyújt az adatok felhasználásáról (értelmezéséről). A bővítmény értéke nem érzékeny a kis- és nagybetűkre. Adja meg az értéket az idézőjelekben, például: Extension("Guid"). Lehetséges bővítményértékek:
|
||||||||||
Formátum | Meghatározza a tulajdonságadatok formátumát. Ha például a Format("w") karakterlánctulajdonságon szerepel, az azt jelzi, hogy a sztring széles sztring. A lehetséges értékek a következők:
|
||||||||||
mutató | Azt jelzi, hogy a tulajdonság mutatóértéket tartalmaz. A mutató értékének mérete az esemény naplózásához használt operációs rendszertől függ; a hasznos adat 32 bites rendszerek esetén 4 bájtos, 64 bites rendszereknél pedig 8 bájtos értéket tartalmaz. Az MOF-adattípusnak objektumnakkell lennie. A felhasználóknak figyelmen kívül kell hagyniuk az adattípust, és -minősítő formázását, ha a tulajdonság tartalmazza a SizeT bővítményt. A tulajdonsághoz beolvasandó adatok méretének meghatározásához használja a következőt:
Windows Vista előtt: Előfordulhat, hogy a PointerSize értéke nem pontos. Egy 64 bites számítógépen például egy 32 bites alkalmazás 4 bájtos mutatót naplóz; a munkamenet azonban 8-ra állítja PointerSize. Vegye figyelembe, hogy egyes események PointerType használnak Mutató; ne használja PointerType. |
||||||||||
StringTermination | A sztringtulajdonság leállítását jelzi. A StringTermination("NullTerminated") például azt jelzi, hogy a sztringtulajdonság null értékű. A lehetséges értékek a következők:
|
||||||||||
ValueDescriptions | A Értékek minősítő minden értékének leírását tartalmazza. A TdhEnumerateProviderFieldInformation és TdhQueryProviderFieldInformation függvény ezeket a leírásokat adja vissza, amikor kulcsszó- és szintinformációkat próbál lekérni. A leírások megadása nem kötelező. Ha nem adja meg a leírásokat, a függvények NULLadnak vissza. További részletekért lásd A szint megadása és a jelölők értékének engedélyezése a szolgáltatói számára. | ||||||||||
ValueMap | Megadja a sztringértékekhez megfeleltetendő egész szám indexét vagy jelzőértékeit. Ha ezt a minősítőt adja meg, meg kell adnia a Értékek minősítőt, és opcionálisan a ValueType minősítőt is. Vegye figyelembe, hogy az ETW nem támogatja a WMI-beállítást, ha az értéktérkép értékeihez sztringeket tartalmaz.
Az alábbi példa bemutatja, hogyan használható az Értéktérkép, az Értékek és az Értéktípus-minősítők.
|
||||||||||
értékek | Sztringértékek. Ha a ValueMap minősítő is meg van adva, a sztringek közvetlenül a Értéktérkép minősítő értékeinek felelnek meg. Ellenkező esetben feltételezzük, hogy a tulajdonság értéke nulla alapú index az értéksztringekben. | ||||||||||
ValueType | Azt jelzi, hogy a ValueMap értékek egész szám indexértékek vagy bitjelölő értékek-e. Ha nem adja meg ezt a minősítőt, a rendszer egész szám indexértékeket feltételez. Ha meg szeretné adni, hogy az értékek egész szám indexértékek legyenek, használja a ValueType("index") értéket. Ha meg szeretné adni, hogy az értékek bitjelölő értékek legyenek, használja a ValueType("flag") értéket. | ||||||||||
WmiDataId | Minden tulajdonságnak tartalmaznia kell a WmiDataId minősítőt. WmiDataId határozza meg, hogy a fogyasztó milyen sorrendben olvassa be az eseményadatokat. A WmiDataId értéke 1-nél kezdődik, és az osztály minden tulajdonságánál növekményes lesz. Például WmiDataId(1). | ||||||||||
XMLFragment | Azt jelzi, hogy az adatok XML formátumúak, és további formázás nélkül is megjeleníthetők. |
A szint megadása és a jelölők értékének engedélyezése egy szolgáltató számára
Ha dokumentálni szeretné a szintet, és engedélyezni szeretné a vezérlő által a szolgáltató engedélyezéséhez használt jelzőket, adja meg a "Szint" és a "Jelzők" tulajdonságokat a szolgáltató MOF osztályában. A Level and Flags tulajdonságnevek megkülönböztetik a kis- és nagybetűket. A tulajdonságoknak tartalmazniuk kell az Értékek és Értéktérkép minősítőket, amelyek meghatározzák a lehetséges szintet, és engedélyezik a jelölőértékeket. Az engedélyezés jelölőértékeinek Értéktérkép bit (jelző) értékeknek kell lenniük. A ValueDescriptions minősítő nem kötelező, de minden lehetséges érték leírásához használja. A leírások akkor használatosak, ha valaki meghívja a TdhEnumerateProviderFieldInformation és TdhQueryProviderFieldInformation függvényeket a lehetséges szint lekéréséhez, és engedélyezi a jelzők (kulcsszavak) értékeit a szolgáltató számára.
Az alábbiakban egy szolgáltatóosztály látható, amely meghatározza a lehetséges szintet, és engedélyezi a jelzők értékeit.
[Dynamic,
Description("IIS_Trace") : amended,
guid("{3a2a4e84-4c21-4981-ae10-3fda0d9b0f83}"),
locale("MS\\0x409")]
class IIS_Trace : EventTrace
{
[Description ("Enable Flags") : amended,
ValueDescriptions{
"Allow_tracing_only_selected_requests ",
"IIS_authentication_events ",
"IIS_security_events ",
"IIS_filter_events ",
"IIS_static_file_events ",
"IIS_CGI_events ",
"IIS_compression_events ",
"IIS_cache_events ",
"IIS_request_notifications_events ",
"IIS_module_events ",
"IIS_FastCGI_events "},
DefineValues{
"UseUrlFilter",
"IISAuthentication",
"IISSecurity",
"IISFilter",
"IISStaticFile",
"IISCGI",
"IISCompression",
"IISCache",
"IISRequestNotification",
"IISModule",
"IISFastCGI"},
Values{
"UseUrlFilter",
"IISAuthentication",
"IISSecurity",
"IISFilter",
"IISStaticFile",
"IISCGI",
"IISCompression",
"IISCache",
"IISRequestNotification",
"IISModule",
"IISFastCGI"},
ValueMap{
"0x00000001",
"0x00000002",
"0x00000004",
"0x00000008",
"0x00000010",
"0x00000020",
"0x00000040",
"0x00000080",
"0x00000100",
"0x00000200",
"0x00001000"}: amended
]
uint32 Flags;
[Description ("Levels") : amended,
ValueDescriptions{
"Abnormal exit or termination",
"Severe errors that need logging",
"Warnings such as allocation failure",
"Includes non-error cases",
"Detailed traces from intermediate steps" } : amended,
DefineValues{
"TRACE_LEVEL_FATAL",
"TRACE_LEVEL_ERROR",
"TRACE_LEVEL_WARNING"
"TRACE_LEVEL_INFORMATION",
"TRACE_LEVEL_VERBOSE" },
Values{
"Fatal",
"Error",
"Warning",
"Information",
"Verbose" },
ValueMap{
"0x1",
"0x2",
"0x3",
"0x4",
"0x5" },
ValueType("index")
]
uint32 Level;
};