Added patch to move implementation of EtwRegisterTraceGuidsW to ntdll.

This commit is contained in:
Sebastian Lackner
2016-01-17 03:19:12 +01:00
parent 3f2d26547d
commit 49a0b474e4
9 changed files with 451 additions and 35 deletions

View File

@@ -1,4 +1,4 @@
From ff1be4d15b2114de6b785c164ddc27fd6993c6f8 Mon Sep 17 00:00:00 2001
From d02606aaa6cbdbb1939cfe99b6d5f013af5c48a6 Mon Sep 17 00:00:00 2001
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
Date: Thu, 25 Dec 2014 12:36:28 -0700
Subject: ntdll: Add stubs for WinSqmStartSession / WinSqmEndSession.
@@ -11,7 +11,7 @@ Based on a patch by Detlef Riekenberg.
3 files changed, 76 insertions(+)
diff --git a/dlls/ntdll/misc.c b/dlls/ntdll/misc.c
index 2cfa900..7832d37 100644
index 5469116..4517aec 100644
--- a/dlls/ntdll/misc.c
+++ b/dlls/ntdll/misc.c
@@ -27,6 +27,8 @@
@@ -20,10 +20,10 @@ index 2cfa900..7832d37 100644
+#include "ntstatus.h"
+#define WIN32_NO_STATUS
#include "wine/library.h"
#include "wine/debug.h"
#include "ntdll_misc.h"
@@ -328,6 +330,15 @@ void * __cdecl _lfind( const void *key, const void *base, unsigned int *nmemb,
#include "windows.h"
#include "wmistr.h"
#include "evntrace.h"
@@ -332,6 +334,15 @@ void * __cdecl _lfind( const void *key, const void *base, unsigned int *nmemb,
}
/*********************************************************************
@@ -39,12 +39,10 @@ index 2cfa900..7832d37 100644
* WinSqmIsOptedIn (NTDLL.@)
*/
BOOL WINAPI WinSqmIsOptedIn(void)
@@ -335,3 +346,12 @@ BOOL WINAPI WinSqmIsOptedIn(void)
FIXME("() stub\n");
return FALSE;
@@ -341,6 +352,15 @@ BOOL WINAPI WinSqmIsOptedIn(void)
}
+
+/*********************************************************************
/*********************************************************************
+ * WinSqmStartSession (NTDLL.@)
+ */
+PVOID WINAPI WinSqmStartSession(PVOID unknown1, DWORD unknown2, DWORD unknown3)
@@ -52,18 +50,27 @@ index 2cfa900..7832d37 100644
+ FIXME("(%p, 0x%x, 0x%x) stub!\n", unknown1, unknown2, unknown3);
+ return NULL;
+}
+
+/*********************************************************************
* EtwEventRegister (NTDLL.@)
*/
ULONG WINAPI EtwEventRegister( LPCGUID provider, PENABLECALLBACK callback, PVOID context, PREGHANDLE handle )
diff --git a/dlls/ntdll/ntdll.spec b/dlls/ntdll/ntdll.spec
index 28165ef..9225898 100644
index d6ded19..0c23514 100644
--- a/dlls/ntdll/ntdll.spec
+++ b/dlls/ntdll/ntdll.spec
@@ -971,3 +971,5 @@
@@ -1011,7 +1011,9 @@
@ stdcall TpWaitForWait(ptr long)
@ stdcall TpWaitForWork(ptr long)
@ stdcall -ret64 VerSetConditionMask(int64 long long)
+@ stdcall WinSqmEndSession(ptr)
@ stdcall WinSqmIsOptedIn()
+@ stdcall WinSqmStartSession(ptr long long)
@ stdcall ZwAcceptConnectPort(ptr long ptr long long ptr) NtAcceptConnectPort
@ stdcall ZwAccessCheck(ptr long long ptr ptr ptr ptr ptr) NtAccessCheck
@ stdcall ZwAccessCheckAndAuditAlarm(ptr long ptr ptr ptr long ptr long ptr ptr ptr) NtAccessCheckAndAuditAlarm
diff --git a/dlls/ntdll/tests/rtl.c b/dlls/ntdll/tests/rtl.c
index e8eb04a..7b5f07d 100644
index 94a22ac..d382691 100644
--- a/dlls/ntdll/tests/rtl.c
+++ b/dlls/ntdll/tests/rtl.c
@@ -62,6 +62,9 @@ static inline USHORT __my_ushort_swap(USHORT s)
@@ -76,7 +83,7 @@ index e8eb04a..7b5f07d 100644
static SIZE_T (WINAPI *pRtlCompareMemory)(LPCVOID,LPCVOID,SIZE_T);
static SIZE_T (WINAPI *pRtlCompareMemoryUlong)(PULONG, SIZE_T, ULONG);
static NTSTATUS (WINAPI *pRtlDeleteTimer)(HANDLE, HANDLE, HANDLE);
@@ -109,6 +112,9 @@ static void InitFunctionPtrs(void)
@@ -115,6 +118,9 @@ static void InitFunctionPtrs(void)
hntdll = LoadLibraryA("ntdll.dll");
ok(hntdll != 0, "LoadLibrary failed\n");
if (hntdll) {
@@ -86,7 +93,7 @@ index e8eb04a..7b5f07d 100644
pRtlCompareMemory = (void *)GetProcAddress(hntdll, "RtlCompareMemory");
pRtlCompareMemoryUlong = (void *)GetProcAddress(hntdll, "RtlCompareMemoryUlong");
pRtlDeleteTimer = (void *)GetProcAddress(hntdll, "RtlDeleteTimer");
@@ -149,6 +155,48 @@ static void InitFunctionPtrs(void)
@@ -161,6 +167,48 @@ static void InitFunctionPtrs(void)
ok(strlen(src) == 15, "Source must be 16 bytes long!\n");
}
@@ -135,7 +142,7 @@ index e8eb04a..7b5f07d 100644
#define COMP(str1,str2,cmplen,len) size = pRtlCompareMemory(str1, str2, cmplen); \
ok(size == len, "Expected %ld, got %ld\n", size, (SIZE_T)len)
@@ -1603,6 +1651,12 @@ START_TEST(rtl)
@@ -2060,6 +2108,12 @@ START_TEST(rtl)
{
InitFunctionPtrs();
@@ -149,5 +156,5 @@ index e8eb04a..7b5f07d 100644
test_RtlCompareMemoryUlong();
test_RtlMoveMemory();
--
2.3.5
2.6.4

View File

@@ -1 +1,2 @@
Fixes: [31971] ntdll is missing WinSqm[Start|End]Session implementation
Depends: ntdll-EtwRegisterTraceGuids