ReactOS
0.4.16-dev-91-g764881a
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
38
FORCEINLINE
39
VOID
40
FxPerfTraceDpc
(
41
_In_
PVOID
DriverCallback
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
63
FORCEINLINE
64
VOID
65
FxPerfTraceInterrupt
(
66
_In_
PVOID
DriverCallback
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
82
FORCEINLINE
83
VOID
84
FxPerfTracePassiveInterrupt
(
85
_In_
PVOID
DriverCallback
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
101
FORCEINLINE
102
VOID
103
FxPerfTraceWorkItem
(
104
_In_
PVOID
DriverCallback
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
DriverCallback
BOOL WINAPI DriverCallback(DWORD dwCallBack, UINT uFlags, HDRVR hDev, UINT wMsg, DWORD dwUser, DWORD dwParam1, DWORD dwParam2)
FxPerfTracePassiveInterrupt
FORCEINLINE VOID FxPerfTracePassiveInterrupt(_In_ PVOID DriverCallback)
Definition:
fxperftracekm.hpp:84
FxPerfTraceInterrupt
FORCEINLINE VOID FxPerfTraceInterrupt(_In_ PVOID DriverCallback)
Definition:
fxperftracekm.hpp:65
FxPerfTraceDpc
FORCEINLINE VOID FxPerfTraceDpc(_In_ PVOID DriverCallback)
Definition:
fxperftracekm.hpp:40
FxPerfTraceWorkItem
FORCEINLINE VOID FxPerfTraceWorkItem(_In_ PVOID DriverCallback)
Definition:
fxperftracekm.hpp:103
void
Definition:
nsiface.idl:2307
_In_
#define _In_
Definition:
ms_sal.h:308
FORCEINLINE
#define FORCEINLINE
Definition:
wdftypes.h:67
sdk
lib
drivers
wdf
shared
inc
private
km
fxperftracekm.hpp
Generated on Sat Oct 5 2024 06:13:18 for ReactOS by
1.9.6