/*++ Copyright (c) Microsoft Corporation Module Name: FxPerfTrace.hpp Abstract: This is header file for perf trace methods. Author: Environment: Kernel mode only Revision History: Notes: --*/ #pragma once // // Version starts from 2 to be in sync with ETW versioning // #define WDF_DPC_EVENT_VERSION_2 2 #define WDF_INTERRUPT_EVENT_VERSION_2 2 #define WDF_WORK_ITEM_EVENT_VERSION_2 2 // __REACTOS__ : functions are commented out FORCEINLINE VOID FxPerfTraceDpc( _In_ PVOID DriverCallback ) { // PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL; // // // // Trace driver's ISR using perf trace callback. If the perf trace callback // // is NULL, it means either perf tracing is not enabled, or this OS // // doesn't support perf tracing for WDF (note only win8+ supports WDF perf // // trace callbacks). // // // perfTraceCallback = FxLibraryGlobals.PerfTraceRoutines->DpcNotifyRoutine; // if (perfTraceCallback != NULL) { // (perfTraceCallback) (DriverCallback, // event data // sizeof(PVOID), // sizeof event // PERF_WDF_DPC, // group mask // PERFINFO_LOG_TYPE_WDF_DPC, // hook id // WDF_DPC_EVENT_VERSION_2 // version // ); // } } FORCEINLINE VOID FxPerfTraceInterrupt( _In_ PVOID DriverCallback ) { // PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL; // perfTraceCallback = FxLibraryGlobals.PerfTraceRoutines->InterruptNotifyRoutine; // if (perfTraceCallback != NULL) { // (perfTraceCallback) (DriverCallback, // event data // sizeof(PVOID), // sizeof event // PERF_WDF_INTERRUPT, // group mask // PERFINFO_LOG_TYPE_WDF_INTERRUPT, // hook id // WDF_INTERRUPT_EVENT_VERSION_2 // version // ); // } } FORCEINLINE VOID FxPerfTracePassiveInterrupt( _In_ PVOID DriverCallback ) { // PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL; // perfTraceCallback = FxLibraryGlobals.PerfTraceRoutines->InterruptNotifyRoutine; // if (perfTraceCallback != NULL) { // (perfTraceCallback) (DriverCallback, // sizeof(PVOID), // PERF_WDF_INTERRUPT, // PERFINFO_LOG_TYPE_WDF_PASSIVE_INTERRUPT, // WDF_INTERRUPT_EVENT_VERSION_2 // ); // } } FORCEINLINE VOID FxPerfTraceWorkItem( _In_ PVOID DriverCallback ) { // PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL; // perfTraceCallback = FxLibraryGlobals.PerfTraceRoutines->WorkItemNotifyRoutine; // if (perfTraceCallback != NULL) { // (perfTraceCallback) (DriverCallback, // sizeof(PVOID), // PERF_WORKER_THREAD, // PERFINFO_LOG_TYPE_WDF_WORK_ITEM, // WDF_WORK_ITEM_EVENT_VERSION_2 // ); // } }