mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 21:12:59 +00:00
[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:
parent
8a978a179f
commit
1f377076d7
258 changed files with 4047 additions and 2387 deletions
72
sdk/lib/drivers/wdf/reactos_special.cpp
Normal file
72
sdk/lib/drivers/wdf/reactos_special.cpp
Normal file
|
@ -0,0 +1,72 @@
|
|||
#include <stdarg.h>
|
||||
#include <stddef.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <ntverp.h>
|
||||
|
||||
extern "C" {
|
||||
#include <ntddk.h>
|
||||
#include <ntstrsafe.h>
|
||||
}
|
||||
|
||||
#define FX_DYNAMICS_GENERATE_TABLE 1
|
||||
|
||||
#include "fx.hpp"
|
||||
|
||||
// #include <fxldr.h>
|
||||
// #include "fxbugcheck.h"
|
||||
|
||||
|
||||
//----------------------------------------- ------------------------------------
|
||||
|
||||
extern "C" {
|
||||
|
||||
#include "fxdynamics.h"
|
||||
|
||||
// #include "FxLibraryCommon.h"
|
||||
|
||||
typedef VOID (*WDFFUNC) (VOID);
|
||||
|
||||
const WDFFUNC *WdfFunctions_01017 = (WDFFUNC *)(&WdfVersion.Functions);
|
||||
// DECLSPEC_ALIGN(MAX_NATURAL_ALIGNMENT) UINT8 WdfDriverGlobalsVal[248] = { 0 }; // sizeof(FX_DRIVER_GLOBALS)
|
||||
// PWDF_DRIVER_GLOBALS WdfDriverGlobals = &((PFX_DRIVER_GLOBALS)&WdfDriverGlobalsVal)->Public;
|
||||
WDF_BIND_INFO WdfBindInfo = {0};
|
||||
PWDF_DRIVER_GLOBALS WdfDriverGlobals;
|
||||
|
||||
#define KMDF_DEFAULT_NAME "Wdf01000"
|
||||
|
||||
PCHAR WdfLdrType = KMDF_DEFAULT_NAME;
|
||||
|
||||
WDFAPI
|
||||
NTSTATUS
|
||||
STDCALL
|
||||
WdfApiNotImplemented()
|
||||
{
|
||||
DbgPrint("ReactOS KMDF: %s non-implemented API called\n");
|
||||
__debugbreak();
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
// called in WdfDriverCreate in fxdriverapi.cpp
|
||||
VOID
|
||||
RosInitWdf()
|
||||
{
|
||||
WdfDriverGlobals = FxAllocateDriverGlobals();
|
||||
PFX_DRIVER_GLOBALS fxDriverGlobals = GetFxDriverGlobals(WdfDriverGlobals);
|
||||
|
||||
WdfBindInfo.Size = sizeof(WDF_BIND_INFO);
|
||||
WdfBindInfo.Version.Major = 1;
|
||||
WdfBindInfo.Version.Minor = 9;
|
||||
WdfBindInfo.Version.Build = 7600;
|
||||
WdfBindInfo.FuncCount = WdfVersion.FuncCount;
|
||||
WdfBindInfo.FuncTable = (WDFFUNC *)(&WdfVersion.Functions);
|
||||
fxDriverGlobals->WdfBindInfo = &WdfBindInfo;
|
||||
}
|
||||
|
||||
void
|
||||
__cxa_pure_virtual()
|
||||
{
|
||||
__debugbreak();
|
||||
}
|
||||
|
||||
} // extern "C"
|
Loading…
Add table
Add a link
Reference in a new issue