Andrey Turkin : ntdll: Add RtlCaptureStackBackTrace stub.

Alexandre Julliard julliard at winehq.org
Mon Jan 12 10:41:06 CST 2009


Module: wine
Branch: master
Commit: d2685e7bd7d1c7f595c86ae08ddeaf9c696c43d8
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=d2685e7bd7d1c7f595c86ae08ddeaf9c696c43d8

Author: Andrey Turkin <andrey.turkin at gmail.com>
Date:   Mon Jan 12 03:34:30 2009 +0300

ntdll: Add RtlCaptureStackBackTrace stub.

---

 dlls/kernel32/kernel32.spec |    2 +-
 dlls/ntdll/exception.c      |   24 ++++++++++++++++++++++++
 dlls/ntdll/ntdll.spec       |    2 +-
 3 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index d02f6e3..c38d27f 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -921,7 +921,7 @@
 @ stdcall RestoreLastError(long) ntdll.RtlRestoreLastWin32Error
 @ stdcall ResumeThread(long)
 @ stdcall -register RtlCaptureContext(ptr) ntdll.RtlCaptureContext
-# @ stub RtlCaptureStackBackTrace ( -> ntdll.RtlCaptureStackBackTrace)
+@ stdcall RtlCaptureStackBackTrace(long long ptr ptr) ntdll.RtlCaptureStackBackTrace
 @ stdcall RtlFillMemory(ptr long long) ntdll.RtlFillMemory
 @ stdcall -arch=x86_64 RtlLookupFunctionEntry(long ptr ptr) ntdll.RtlLookupFunctionEntry
 @ stdcall RtlMoveMemory(ptr ptr long) ntdll.RtlMoveMemory
diff --git a/dlls/ntdll/exception.c b/dlls/ntdll/exception.c
index 607d0e2..91a269b 100644
--- a/dlls/ntdll/exception.c
+++ b/dlls/ntdll/exception.c
@@ -585,6 +585,30 @@ ULONG WINAPI RtlRemoveVectoredExceptionHandler( PVOID handler )
 }
 
 
+/*************************************************************************
+ * RtlCaptureStackBackTrace   [NTDLL.@]
+ *
+ * Captures stack backtrace
+ *
+ * PARAMS
+ *  Skip   [I] Number of stack frames to skip before starting a capture
+ *  Count  [I] Number of stack frames to capture into Buffer
+ *  Buffer [O] Array of backtrace pointers captured from stack
+ *  Hash   [O] Optional pointer to variable where backtrace hash should be stored
+ *
+ * RETURNS
+ *  Number of captured stack frames or 0 if error occurred
+ *
+ * NOTES
+ *   Unimplemented
+ */
+USHORT WINAPI RtlCaptureStackBackTrace(ULONG Skip, ULONG Count, PVOID *Buffer, ULONG *Hash)
+{
+    FIXME("(%d, %d, %p, %p) stub!\n", Skip, Count, Buffer, Hash);
+    return 0;
+}
+
+
 /*************************************************************
  *            __wine_spec_unimplemented_stub
  *
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 1eb53d7..0ac4b51 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -434,7 +434,7 @@
 @ stdcall RtlAssert(ptr ptr long long)
 # @ stub RtlCancelTimer
 @ stdcall -register RtlCaptureContext(ptr)
-@ stub RtlCaptureStackBackTrace
+@ stdcall RtlCaptureStackBackTrace(long long ptr ptr)
 # @ stub RtlCaptureStackContext
 @ stdcall RtlCharToInteger(ptr long ptr)
 # @ stub RtlCheckForOrphanedCriticalSections




More information about the wine-cvs mailing list