TraceLogging-referencia
Az alábbi témakörök a C/C++ TraceLogging API-val kapcsolatos információkat tartalmaznak.
Jegyzet
Ha C/C++ kódból hoz létre eseményeket, és az események fordítási időben vannak definiálva, használja az ebben a szakaszban ismertetett API-kat. Ellenkező esetben, ha .NET-kódból hoz létre eseményeket, használja a .NET EventSource osztályt. Ellenkező esetben windowsos futtatókörnyezet (WinRT) használata esetén használja LoggingChannel. Ellenkező esetben előfordulhat, hogy használhat egy közösség által támogatott beállítást, például TraceLoggingDynamic.
A TraceLogging windowsos eseménykövetésre (ETW) épül, és könnyebben használható, mint a jegyzékalapú ETW vagy WPP. A TraceLogging lehetővé teszi strukturált adatokat tartalmazó események létrehozását, támogatja az eseménykorrelációt az ETW-tevékenységek használatával, és nem igényel külön rendszerállapot-jegyzék XML-fájlt a dekódoláshoz.
A TraceLoggingProvider.h a C/C++ fejlesztőinek ajánlott API felhasználói vagy kernel módban. Az alábbi hivatkozások a C/C++ API-t írják le.
Vegye figyelembe, hogy a WINVER (felhasználói mód) értéke befolyásolja a TraceLoggingProvider.h viselkedését:
- Ha a WINVER nincs beállítva a
<windows.h>
hozzáadása előtt, akkor a<windows.h>
az SDK-verziónak megfelelő alapértelmezett értékre állítja a WINVER-t. - Ha a TraceLoggingProvider.h-t 0x0602 (Windows 8) vagy újabb WINVER-sel használja, előfordulhat, hogy a program nem fut Windows Vista vagy Windows 7 rendszeren (a TraceLoggingProvider.h megpróbálja közvetlenül használni az EventSetInformation parancsot, amely nem volt jelen a Windows Vista vagy a Windows 7 RTM-verzióiban).
- Ha a TraceLoggingProvider.h-t a WINVER 0x0600 (Windows Vista) vagy 0x0601 (Windows 7) értékre állítja, a program konfigurálva lesz a kompatibilitáshoz, és a Windows megadott verzióin fog működni (a TraceLoggingProvider.h meghívja az EventSetInformationt a GetProcAddressen keresztül, ha elérhető).