[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
This commit is contained in:
Victor Perevertkin 2020-10-16 06:30:51 +03:00
parent 8a978a179f
commit 1f377076d7
No known key found for this signature in database
GPG key ID: C750B7222E9C7830
258 changed files with 4047 additions and 2387 deletions

View file

@ -33,29 +33,31 @@ Notes:
#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;
// 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
);
}
// //
// // 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
@ -64,17 +66,17 @@ FxPerfTraceInterrupt(
_In_ PVOID DriverCallback
)
{
PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL;
// 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
);
}
// 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
@ -83,17 +85,17 @@ FxPerfTracePassiveInterrupt(
_In_ PVOID DriverCallback
)
{
PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL;
// 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
);
}
// 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
@ -102,16 +104,16 @@ FxPerfTraceWorkItem(
_In_ PVOID DriverCallback
)
{
PWMI_WDF_NOTIFY_ROUTINE perfTraceCallback = NULL;
// 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
);
}
// 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
// );
// }
}