ReactOS  0.4.15-dev-3446-g30010a5
fxperftracekm.hpp
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 Module Name:
6 
7  FxPerfTrace.hpp
8 
9 Abstract:
10 
11  This is header file for perf trace methods.
12 
13 Author:
14 
15 
16 
17 Environment:
18 
19  Kernel mode only
20 
21 Revision History:
22 
23 Notes:
24 
25 --*/
26 
27 #pragma once
28 
29 //
30 // Version starts from 2 to be in sync with ETW versioning
31 //
32 #define WDF_DPC_EVENT_VERSION_2 2
33 #define WDF_INTERRUPT_EVENT_VERSION_2 2
34 #define WDF_WORK_ITEM_EVENT_VERSION_2 2
35 
36 // __REACTOS__ : functions are commented out
37 
39 VOID
42  )
43 {
44  // PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL;
45 
46  // //
47  // // Trace driver's ISR using perf trace callback. If the perf trace callback
48  // // is NULL, it means either perf tracing is not enabled, or this OS
49  // // doesn't support perf tracing for WDF (note only win8+ supports WDF perf
50  // // trace callbacks).
51  // //
52  // perfTraceCallback = FxLibraryGlobals.PerfTraceRoutines->DpcNotifyRoutine;
53  // if (perfTraceCallback != NULL) {
54  // (perfTraceCallback) (DriverCallback, // event data
55  // sizeof(PVOID), // sizeof event
56  // PERF_WDF_DPC, // group mask
57  // PERFINFO_LOG_TYPE_WDF_DPC, // hook id
58  // WDF_DPC_EVENT_VERSION_2 // version
59  // );
60  // }
61 }
62 
64 VOID
67  )
68 {
69  // PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL;
70 
71  // perfTraceCallback = FxLibraryGlobals.PerfTraceRoutines->InterruptNotifyRoutine;
72  // if (perfTraceCallback != NULL) {
73  // (perfTraceCallback) (DriverCallback, // event data
74  // sizeof(PVOID), // sizeof event
75  // PERF_WDF_INTERRUPT, // group mask
76  // PERFINFO_LOG_TYPE_WDF_INTERRUPT, // hook id
77  // WDF_INTERRUPT_EVENT_VERSION_2 // version
78  // );
79  // }
80 }
81 
83 VOID
86  )
87 {
88  // PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL;
89 
90  // perfTraceCallback = FxLibraryGlobals.PerfTraceRoutines->InterruptNotifyRoutine;
91  // if (perfTraceCallback != NULL) {
92  // (perfTraceCallback) (DriverCallback,
93  // sizeof(PVOID),
94  // PERF_WDF_INTERRUPT,
95  // PERFINFO_LOG_TYPE_WDF_PASSIVE_INTERRUPT,
96  // WDF_INTERRUPT_EVENT_VERSION_2
97  // );
98  // }
99 }
100 
102 VOID
105  )
106 {
107  // PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL;
108 
109  // perfTraceCallback = FxLibraryGlobals.PerfTraceRoutines->WorkItemNotifyRoutine;
110  // if (perfTraceCallback != NULL) {
111  // (perfTraceCallback) (DriverCallback,
112  // sizeof(PVOID),
113  // PERF_WORKER_THREAD,
114  // PERFINFO_LOG_TYPE_WDF_WORK_ITEM,
115  // WDF_WORK_ITEM_EVENT_VERSION_2
116  // );
117  // }
118 }
119 
FORCEINLINE VOID FxPerfTraceWorkItem(_In_ PVOID DriverCallback)
#define _In_
Definition: ms_sal.h:308
FORCEINLINE VOID FxPerfTraceDpc(_In_ PVOID DriverCallback)
#define FORCEINLINE
Definition: wdftypes.h:67
FORCEINLINE VOID FxPerfTraceInterrupt(_In_ PVOID DriverCallback)
BOOL WINAPI DriverCallback(DWORD dwCallBack, UINT uFlags, HDRVR hDev, UINT wMsg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2)
FORCEINLINE VOID FxPerfTracePassiveInterrupt(_In_ PVOID DriverCallback)