reactos/sdk/lib/drivers/wdf/shared/inc/private/km/fxperftracekm.hpp
Victor Perevertkin 1f377076d7
[WDF] Fix KMDF so it can compile with ReactOS SDK
Not all files are included, but these are necessary to compile cdrom driver.
So far it can only be statically linked with drivers, a proper
implementation requires wdfldr helper driver
2020-11-03 00:06:27 +03:00

119 lines
3.2 KiB
C++

/*++
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
// );
// }
}