Merge r68232 to get Windows' rpcrt4.dll to work under ReactOS.
authorColin Finck <colin@reactos.org>
Sat, 18 Jul 2015 12:29:25 +0000 (12:29 +0000)
committerColin Finck <colin@reactos.org>
Sat, 18 Jul 2015 12:29:25 +0000 (12:29 +0000)
svn path=/branches/colins-printing-for-freedom/; revision=68416

reactos/dll/ntdll/def/ntdll.spec
reactos/lib/rtl/CMakeLists.txt
reactos/lib/rtl/appverifier.c [new file with mode: 0644]
reactos/lib/rtl/memstream.c

index 4b5ffcc..6c1f1ca 100644 (file)
 @ stdcall RtlAppendStringToString(ptr ptr)
 @ stdcall RtlAppendUnicodeStringToString(ptr ptr)
 @ stdcall RtlAppendUnicodeToString(ptr wstr)
-;@ stdcall RtlApplicationVerifierStop
+@ stdcall RtlApplicationVerifierStop(ptr str ptr str ptr str ptr str ptr str)
 @ stdcall RtlApplyRXact(ptr)
 @ stdcall RtlApplyRXactNoFlush(ptr)
 @ stdcall RtlAreAllAccessesGranted(long long)
 @ stdcall -arch=win32 -ret64 RtlConvertUlongToLargeInteger(long)
 @ stdcall RtlCopyLuid(ptr ptr)
 @ stdcall RtlCopyLuidAndAttributesArray(long ptr ptr)
-;@ stdcall RtlCopyMappedMemory
+@ stdcall RtlCopyMappedMemory(ptr ptr long)
 @ stdcall RtlCopyMemoryStreamTo(ptr ptr int64 ptr ptr)
 @ stdcall RtlCopyOutOfProcessMemoryStreamTo(ptr ptr int64 ptr ptr) RtlCopyMemoryStreamTo
 @ stdcall RtlCopySecurityDescriptor(ptr ptr)
index e181527..e9dfcda 100644 (file)
@@ -9,6 +9,7 @@ list(APPEND SOURCE
     access.c
     acl.c
     actctx.c
+    appverifier.c
     assert.c
     atom.c
     avltable.c
diff --git a/reactos/lib/rtl/appverifier.c b/reactos/lib/rtl/appverifier.c
new file mode 100644 (file)
index 0000000..9e0ac6f
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * PROJECT:         ReactOS Runtime Library
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
+ * FILE:            lib/rtl/appverifier.c
+ * PURPOSE:         RTL Application Verifier Routines
+ * PROGRAMMERS:     Thomas Faber <thomas.faber@reactos.org>
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <rtl.h>
+
+#define NDEBUG
+#include <debug.h>
+
+/* FUNCTIONS ***************************************************************/
+
+/*
+ * @implemented
+ */
+VOID
+NTAPI
+RtlApplicationVerifierStop(
+    _In_ ULONG_PTR Code,
+    _In_ PCSTR Message,
+    _In_ PVOID Value1,
+    _In_ PCSTR Description1,
+    _In_ PVOID Value2,
+    _In_ PCSTR Description2,
+    _In_ PVOID Value3,
+    _In_ PCSTR Description3,
+    _In_ PVOID Value4,
+    _In_ PCSTR Description4)
+{
+    PTEB Teb = NtCurrentTeb();
+
+    DbgPrint("**************************************************\n");
+    DbgPrint("VERIFIER STOP %08Ix: pid %04Ix:  %s\n",
+             Code, (ULONG_PTR)Teb->ClientId.UniqueProcess, Message);
+    DbgPrint("    %p : %s\n", Value1, Description1);
+    DbgPrint("    %p : %s\n", Value2, Description2);
+    DbgPrint("    %p : %s\n", Value3, Description3);
+    DbgPrint("    %p : %s\n", Value4, Description4);
+    DbgPrint("**************************************************\n");
+    DbgBreakPoint();
+}
index 7fbd93f..158640b 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * COPYRIGHT:       See COPYING in the top level directory
  * PROJECT:         ReactOS system libraries
- * FILE:            lib/rtl/mem.c
+ * FILE:            lib/rtl/memstream.c
  * PURPOSE:         MemoryStream functions
  * PROGRAMMER:      David Quintana (gigaherz@gmail.com)
  */
@@ -465,3 +465,17 @@ RtlCloneMemoryStream(
 
     return E_NOTIMPL;
 }
+
+/*
+ * @implemented
+ */
+VOID
+NTAPI
+RtlCopyMappedMemory(
+    _Out_ PVOID Destination,
+    _In_ const VOID *Source,
+    _In_ SIZE_T Size)
+{
+    /* FIXME: This is supposed to handle STATUS_IN_PAGE_ERROR exceptions */
+    RtlCopyMemory(Destination, Source, Size);
+}