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

Reply via email to