[vbox-dev] [Patch] Build windows guest with WDK and VCExpress

Howard Su howard0su at gmail.com
Tue May 15 12:28:00 GMT 2012


After I upgrade to 4.1.14, i need following change to get it build.

diff --git
a/external/VirtualBox/src/VBox/Additions/WINNT/Mouse/NT4/Makefile.kmk
b/external/VirtualBox/src/VBox/Additions/WINNT/Mouse/NT4/Makefile.kmk
index d8e6f0b..123727f 100644
--- a/external/VirtualBox/src/VBox/Additions/WINNT/Mouse/NT4/Makefile.kmk
+++ b/external/VirtualBox/src/VBox/Additions/WINNT/Mouse/NT4/Makefile.kmk
@@ -29,9 +29,10 @@ VBoxMouseNT_SOURCES     = \
        VBoxPS2NT.cpp \
        VBoxPS2NT.rc
 VBoxMouseNT_LIBS        = \
-       $(PATH_SDK_W2K3DDK_LIB)/exsup.lib \
-       $(PATH_SDK_W2K3DDK_LIB)/ntoskrnl.lib \
-       $(PATH_SDK_W2K3DDK_LIB)/hal.lib \
+       exsup.lib \
+       ntoskrnl.lib \
+       hal.lib \
+       bufferoverflowK.lib \
        $(VBOX_LIB_VBGL_R0) \
        $(VBOX_LIB_IPRT_GUEST_R0_NT4)
 VBoxMouseNT_CLEAN       = \
diff --git
a/external/VirtualBox/src/VBox/Additions/WINNT/Mouse/NT4/VBoxPS2NT.cpp
b/external/VirtualBox/src/VBox/Additions/WINNT/Mouse/NT4/VBoxPS2NT.cpp
index 1b14593..14abb97 100644
--- a/external/VirtualBox/src/VBox/Additions/WINNT/Mouse/NT4/VBoxPS2NT.cpp
+++ b/external/VirtualBox/src/VBox/Additions/WINNT/Mouse/NT4/VBoxPS2NT.cpp
@@ -23,10 +23,33 @@

 #include <stdarg.h>
 #include <string.h>
+
+#if (_MSC_VER >= 1400) && !defined(VBOX_WITH_PATCHED_DDK)
+# include <iprt/asm.h>
+# define _InterlockedExchange
_InterlockedExchange_StupidDDKVsCompilerCrap
+# define _InterlockedExchangeAdd
 _InterlockedExchangeAdd_StupidDDKVsCompilerCrap
+# define _InterlockedCompareExchange
 _InterlockedCompareExchange_StupidDDKVsCompilerCrap
+# define _InterlockedCompareExchange64
 _InterlockedCompareExchange64_StupidDDKVsCompilerCrap
+# define _InterlockedAddLargeStatistic
 _InterlockedAddLargeStatistic_StupidDDKVsCompilerCrap
+# pragma warning(disable : 4163)
+RT_C_DECLS_BEGIN
+# include <ntddk.h>
+RT_C_DECLS_END
+# pragma warning(default : 4163)
+# undef  _InterlockedExchange
+# undef  _InterlockedExchangeAdd
+# undef  _InterlockedCompareExchange
+# undef  _InterlockedCompareExchange64
+# undef  _InterlockedAddLargeStatistic
+#else
+RT_C_DECLS_BEGIN
+# include <ntddk.h>
+RT_C_DECLS_END
+#endif
+
 RT_C_DECLS_BEGIN
 #undef PAGE_SIZE
 #undef PAGE_SHIFT
-#include <ntddk.h>
 #include <ntddkbd.h>
 #include <ntddmou.h>
 RT_C_DECLS_END
diff --git
a/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/Makefile.kmk
b/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/drive
index 306efc4..d957a5b 100644
---
a/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/Makefile.kmk
+++
b/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/Makefile.kmk
@@ -26,9 +26,6 @@ VBoxSF_TEMPLATE    = VBOXGUESTR0
 VBoxSF_DEFS        = LOG_TO_BACKDOOR VBOX_WITH_HGCM IN_RING0
 #VBoxSF_DEFS       += LOG_ENABLED

-VBoxSF_SDKS.x86    = WINDDKW2K
-VBoxSF_SDKS.amd64  = WINDDKWLH
-
 VBoxSF_INCS        = \
        ../../../common/VBoxGuestLib
 VBoxSF_LDFLAGS.x86   = -Entry:DriverEntry at 8
@@ -43,25 +40,14 @@ VBoxSF_SOURCES     =  \
        vbsfhlp.c \
        VBoxSF.rc

-VBoxSF_LIBS.x86  = \
-       $(PATH_SDK_WINDDKW2K_LIB.x86)/fre/rxce.lib \
-       $(PATH_SDK_WINDDKW2K_LIB.x86)/fre/rdbsslib.lib \
-       $(PATH_SDK_WINDDKW2K_LIB.x86)/fre/copysup.lib \
-       $(PATH_SDK_WINDDKW2K_LIB.x86)/ntoskrnl.lib \
-       $(PATH_SDK_WINDDKW2K_LIB.x86)/hal.lib \
-       $(PATH_SDK_WINDDKW2K_LIB.x86)/ksecdd.lib \
-       $(PATH_SDK_WINDDKW2K_LIB.x86)/BufferOverflowK.lib
-
-VBoxSF_LIBS.amd64  = \
-       $(PATH_SDK_WINDDKWLH_LIB.amd64)/rxce.lib \
-       $(PATH_SDK_WINDDKWLH_LIB.amd64)/rdbsslib.lib \
-       $(PATH_SDK_WINDDKWLH_LIB.amd64)/copysup.lib \
-       $(PATH_SDK_WINDDKWLH_LIB.amd64)/ntoskrnl.lib \
-       $(PATH_SDK_WINDDKWLH_LIB.amd64)/hal.lib \
-       $(PATH_SDK_WINDDKWLH_LIB.amd64)/ksecdd.lib \
-       $(PATH_SDK_WINDDKWLH_LIB.amd64)/BufferOverflowK.lib
-
 VBoxSF_LIBS = \
+       rxce.lib \
+       rdbsslib.lib \
+       copysup.lib \
+       ntoskrnl.lib \
+       hal.lib \
+       ksecdd.lib \
+       BufferOverflowK.lib \
        $(VBOX_LIB_VBGL_R0) \
        $(VBOX_LIB_IPRT_GUEST_R0)

diff --git
a/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/file.c
b/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/file
index c1a35cc..6aa6d02 100644
---
a/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/file.c
+++
b/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/file.c
@@ -54,11 +54,7 @@ static NTSTATUS vbsfReadInternal(IN PRX_CONTEXT
RxContext)
          ByteCount, ByteOffset, FileSize));

     /* @todo check if this is necessary. */
-#if (NTDDI_VERSION >= NTDDI_VISTA)      /* Correct spelling for Vista 6001
SDK. */
     if (!FlagOn(capFcb->FcbState, FCB_STATE_READCACHING_ENABLED))
-#else
-    if (!FlagOn(capFcb->FcbState, FCB_STATE_READCACHEING_ENABLED))
-#endif
     {
         if (ByteOffset >= FileSize)
         {
diff --git
a/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/vbsf.c
b/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/vbsf
index 2208770..497a7bc 100644
---
a/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/vbsf.c
+++
b/external/VirtualBox/src/VBox/Additions/WINNT/SharedFolders/driver/vbsf.c
@@ -1381,12 +1381,23 @@ NTSTATUS VBoxMRxSetSdInfo(IN OUT struct _RX_CONTEXT
* RxContext)
 /*
  * WML stubs which are referenced by rdbsslib.
  */
-NTSTATUS WmlTinySystemControl(void)
+NTSTATUS
+WmlTinySystemControl(
+    IN OUT PVOID WmiLibInfo,
+    IN PVOID DeviceObject,
+    IN PVOID Irp
+    )
 {
     return STATUS_WMI_GUID_NOT_FOUND;
 }

-ULONG WmlTrace(void)
+ULONG
+WmlTrace(
+    IN ULONG Type,
+    IN LPVOID TraceGuid,
+    IN ULONG64 LoggerHandle,
+    ...
+    )
 {
     return STATUS_SUCCESS;
 }


-- 
-Howard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20120515/4882134f/attachment.html>


More information about the vbox-dev mailing list