Woohoo, thanks! Questions/comments inline.
On 2014-05-12 01:11, tkreu...@svn.reactos.org wrote: > --- trunk/reactos/include/ddk/ntifs.h [iso-8859-1] (original) > +++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Sun May 11 23:11:16 2014 > @@ -870,11 +870,11 @@ > (NTAPI *PRTL_FREE_STRING_ROUTINE)( > _In_ __drv_freesMem(Mem) _Post_invalid_ PVOID Buffer); > > -extern const PRTL_ALLOCATE_STRING_ROUTINE RtlAllocateStringRoutine; > -extern const PRTL_FREE_STRING_ROUTINE RtlFreeStringRoutine; > +extern NTKERNELAPI const PRTL_ALLOCATE_STRING_ROUTINE > RtlAllocateStringRoutine; > +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) > Modified: trunk/reactos/include/ddk/wdm.h > URL: > http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/wdm.h?rev=63247&r1=63246&r2=63247&view=diff > ============================================================================== > --- 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? > @@ -129,6 +135,29 @@ > #define ALLOC_DATA_PRAGMA 1 > #endif > > +#endif /* _MSC_VER */ > + > +/* These macros are used to create aliases for imported data. We need to do > + this to have declarations that are compatible with MS DDK */ > +#ifdef _M_IX86 > +#define __SYMBOL(_Name) "_"#_Name > +#define __IMPORTSYMBOL(_Name) "__imp__"#_Name > +#define __IMPORTNAME(_Name) _imp__##_Name > +#else > +#define __SYMBOL(_Name) #_Name > +#define __IMPORTSYMBOL(_Name) "__imp_"#_Name > +#define __IMPORTNAME(_Name) __imp_##_Name > +#endif > +#ifdef _MSC_VER > +#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name) \ > + __pragma(comment(linker, "/alternatename:"__SYMBOL(_Name) "=" > __IMPORTSYMBOL(_Name))) > +#else /* !_MSC_VER */ > +#ifndef __STRINGIFY > +#define __STRINGIFY(_exp) #_exp > +#endif > +#define _Pragma_redifine_extname(_Name, _Target) > _Pragma(__STRINGIFY(redefine_extname _Name _Target)) > +#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name) \ > + _Pragma_redifine_extname(_Name,__IMPORTNAME(_Name)) > #endif > > #if defined(_WIN64) s/redifine/redefine/ > --- 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) _______________________________________________ Ros-dev mailing list Ros-dev@reactos.org http://www.reactos.org/mailman/listinfo/ros-dev