Am 12.05.2014 08:12, schrieb Thomas Faber:
+extern NTKERNELAPI const
PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine;
#if _WIN32_WINNT >= 0x0600
-extern const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
+extern NTKERNELAPI const PRTL_REALLOCATE_STRING_ROUTINE RtlReallocateStringRoutine;
#endif
_Function_class_(RTL_HEAP_COMMIT_ROUTINE)
Do you have any idea what
RtlAllocateStringRoutine and friends are?
They don't seem to exist. (NDK defines them for user mode btw, without
dllimport)
Hmm, looks like not even Vista or 7 export them. Maybe it's located
in
some library and supposed to be per module. I have no idea, maybe Alex
knows. I'll remove the NTKERNELAPI
Modified: trunk/reactos/include/ddk/wdm.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/wdm.h?rev=6324…
==============================================================================
--- trunk/reactos/include/ddk/wdm.h [iso-8859-1] (original)
+++ trunk/reactos/include/ddk/wdm.h [iso-8859-1] Sun May 11 23:11:16 2014
@@ -82,10 +85,13 @@
#endif
/* For ReactOS */
-#if !defined(_NTOSKRNL_) && !defined(_BLDR_)
+#if !defined(_NTOSKRNL_) && !defined(_BLDR_) && !defined(_NTSYSTEM_)
#define NTKERNELAPI DECLSPEC_IMPORT
#else
#define NTKERNELAPI
+#ifndef _NTSYSTEM_
+#define _NTSYSTEM_
+#endif
#endif
#if defined(_X86_) && !defined(_NTHAL_)
We should probably switch to
using _NTSYSTEM_ instead of _NTOSKRNL_ at
some point?
MS actually uses _NTOSP_ for this. They might define _NTSYSTEM_ for
multiple modules. I just used what is used the same way in WDK headers,
but there it's only in one place (NlsMbCodePageTag). The other locations
are probably "filtered" away. But since we use the header for building
ntoskrnl itself, we need it for the other definitions as well.
---
trunk/reactos/ntoskrnl/kd64/kdapi.c [iso-8859-1] (original)
+++ trunk/reactos/ntoskrnl/kd64/kdapi.c [iso-8859-1] Sun May 11
23:11:16 2014
@@ -1903,9 +1903,7 @@
/* We are disabled now */
KdDebuggerEnabled = FALSE;
-#undef KdDebuggerEnabled
SharedUserData->KdDebuggerEnabled = FALSE;
-#define KdDebuggerEnabled _KdDebuggerEnabled
}
}
Should this not use KD_DEBUGGER_ENABLED?
(same in kdinit.c)
We could do it, it's just not neccessary. The definition is probably
there to allow compilation of the same code for use inside and outside
of ntoskrnl. Since this is always in ntoskrnl, it's not required.