ReactOS 0.4.15-dev-7788-g1ad9096
fxperftracekm.hpp
Go to the documentation of this file.
1/*++
2
3Copyright (c) Microsoft Corporation
4
5Module Name:
6
7 FxPerfTrace.hpp
8
9Abstract:
10
11 This is header file for perf trace methods.
12
13Author:
14
15
16
17Environment:
18
19 Kernel mode only
20
21Revision History:
22
23Notes:
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
39VOID
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
64VOID
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
83VOID
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
102VOID
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
BOOL WINAPI DriverCallback(DWORD dwCallBack, UINT uFlags, HDRVR hDev, UINT wMsg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2)
FORCEINLINE VOID FxPerfTracePassiveInterrupt(_In_ PVOID DriverCallback)
FORCEINLINE VOID FxPerfTraceInterrupt(_In_ PVOID DriverCallback)
FORCEINLINE VOID FxPerfTraceDpc(_In_ PVOID DriverCallback)
FORCEINLINE VOID FxPerfTraceWorkItem(_In_ PVOID DriverCallback)
#define _In_
Definition: ms_sal.h:308
#define FORCEINLINE
Definition: wdftypes.h:67