Rebase against 48a74277f5f9e0c87d8c01457236a89d94cb71d3

This commit is contained in:
Alistair Leslie-Hughes 2019-06-07 08:38:50 +10:00
parent 1998c0570d
commit a49aa40ac8
5 changed files with 87 additions and 84 deletions

View File

@ -1,22 +1,22 @@
From e4c38a569fe653a038d46bbf67a8d151851ea2b9 Mon Sep 17 00:00:00 2001
From a119d47ffc9e59747c435488002ee3eaecbc515f Mon Sep 17 00:00:00 2001
From: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Date: Tue, 23 Apr 2019 13:32:56 +1000
Subject: [PATCH 2/2] gdi32: Add D3DKMTQueryStatistics stub
Subject: [PATCH] gdi32: Add D3DKMTQueryStatistics stub
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47074
---
dlls/gdi32/driver.c | 9 +++++++++
dlls/gdi32/gdi32.spec | 1 +
include/ddk/d3dkmthk.h | 1 +
3 files changed, 11 insertions(+)
dlls/gdi32/driver.c | 10 ++++++++++
dlls/gdi32/gdi32.spec | 1 +
include/ddk/d3dkmthk.h | 1 +
3 files changed, 12 insertions(+)
diff --git a/dlls/gdi32/driver.c b/dlls/gdi32/driver.c
index 88f49a0..d2d9fd7 100644
index 96c2f1f1299..53914a88e5f 100644
--- a/dlls/gdi32/driver.c
+++ b/dlls/gdi32/driver.c
@@ -1272,3 +1272,12 @@ NTSTATUS WINAPI D3DKMTCloseAdapter( const D3DKMT_CLOSEADAPTER *desc )
FIXME("(%p): stub\n", desc);
return STATUS_SUCCESS;
@@ -1423,3 +1423,13 @@ NTSTATUS WINAPI D3DKMTDestroyDevice( const D3DKMT_DESTROYDEVICE *desc )
return status;
}
+
+/******************************************************************************
@ -27,30 +27,31 @@ index 88f49a0..d2d9fd7 100644
+ FIXME("(%p): stub\n", stats);
+ return STATUS_SUCCESS;
+}
+
diff --git a/dlls/gdi32/gdi32.spec b/dlls/gdi32/gdi32.spec
index 2d158e0..745e05e 100644
index 9abd82173c8..cc5d2c21a31 100644
--- a/dlls/gdi32/gdi32.spec
+++ b/dlls/gdi32/gdi32.spec
@@ -85,6 +85,7 @@
@ stdcall D3DKMTDestroyDCFromMemory(ptr)
@@ -88,6 +88,7 @@
@ stdcall D3DKMTEscape(ptr)
@ stdcall D3DKMTOpenAdapterFromGdiDisplayName(ptr)
@ stdcall D3DKMTOpenAdapterFromHdc(ptr)
+@ stdcall D3DKMTQueryStatistics(ptr)
@ stdcall DPtoLP(long ptr long)
@ stdcall DeleteColorSpace(long)
@ stdcall DeleteDC(long)
diff --git a/include/ddk/d3dkmthk.h b/include/ddk/d3dkmthk.h
index ab2af52..2ce2c6c 100644
index 8e28c94bbf8..ea4df3a9e01 100644
--- a/include/ddk/d3dkmthk.h
+++ b/include/ddk/d3dkmthk.h
@@ -490,6 +490,7 @@ extern "C"
NTSTATUS WINAPI D3DKMTCloseAdapter(const D3DKMT_CLOSEADAPTER *desc);
NTSTATUS WINAPI D3DKMTCreateDCFromMemory(D3DKMT_CREATEDCFROMMEMORY *desc);
@@ -608,6 +608,7 @@ NTSTATUS WINAPI D3DKMTCreateDCFromMemory(D3DKMT_CREATEDCFROMMEMORY *desc);
NTSTATUS WINAPI D3DKMTDestroyDCFromMemory(const D3DKMT_DESTROYDCFROMMEMORY *desc);
NTSTATUS WINAPI D3DKMTDestroyDevice(const D3DKMT_DESTROYDEVICE *desc);
NTSTATUS WINAPI D3DKMTOpenAdapterFromGdiDisplayName(D3DKMT_OPENADAPTERFROMGDIDISPLAYNAME *desc);
+NTSTATUS WINAPI D3DKMTQueryStatistics(D3DKMT_QUERYSTATISTICS *stats);
#ifdef __cplusplus
}
--
1.9.1
2.17.1

View File

@ -1,4 +1,4 @@
From f43e1e4f9fd62217be81ce0c2f25a1237855e564 Mon Sep 17 00:00:00 2001
From 3d71df14a8a79f7827591f76eab7e3dbb3b9aa1a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Mon, 5 Sep 2016 15:31:29 +0200
Subject: [PATCH] inseng: Implement CIF reader and download functions.
@ -6,26 +6,28 @@ Subject: [PATCH] inseng: Implement CIF reader and download functions.
FIXME: Needs splitting.
---
dlls/inseng/Makefile.in | 7 +-
dlls/inseng/icif.c | 1745 ++++++++++++++++++++++++++++++++++++++++++
dlls/inseng/inf.c | 443 +++++++++++
dlls/inseng/icif.c | 1745 ++++++++++++++++++++++++++++++++++
dlls/inseng/inf.c | 443 +++++++++
dlls/inseng/inseng.spec | 4 +-
dlls/inseng/inseng_main.c | 990 +++++++++++++++++++++++-
dlls/inseng/inseng_main.c | 990 ++++++++++++++++++-
dlls/inseng/inseng_private.h | 79 ++
include/inseng.idl | 276 ++++++-
include/inseng.idl | 276 +++++-
7 files changed, 3490 insertions(+), 54 deletions(-)
create mode 100644 dlls/inseng/icif.c
create mode 100644 dlls/inseng/inf.c
create mode 100644 dlls/inseng/inseng_private.h
diff --git a/dlls/inseng/Makefile.in b/dlls/inseng/Makefile.in
index 652e06b..d0aaa66 100644
index 797a0d2b46f..d58b88377f3 100644
--- a/dlls/inseng/Makefile.in
+++ b/dlls/inseng/Makefile.in
@@ -1,6 +1,9 @@
@@ -1,8 +1,11 @@
MODULE = inseng.dll
-IMPORTS = uuid ole32 advapi32
+IMPORTS = uuid ole32 advapi32 urlmon shlwapi
EXTRADLLFLAGS = -mno-cygwin
-C_SRCS = inseng_main.c
+C_SRCS = \
+ icif.c \
@ -35,7 +37,7 @@ index 652e06b..d0aaa66 100644
IDL_SRCS = inseng_classes.idl
diff --git a/dlls/inseng/icif.c b/dlls/inseng/icif.c
new file mode 100644
index 0000000..f7bf0a0
index 00000000000..f7bf0a07077
--- /dev/null
+++ b/dlls/inseng/icif.c
@@ -0,0 +1,1745 @@
@ -59,7 +61,7 @@ index 0000000..f7bf0a0
+
+#define COBJMACROS
+
+#include "config.h"
+
+
+#include <stdarg.h>
+#include <string.h>
@ -1786,7 +1788,7 @@ index 0000000..f7bf0a0
+}
diff --git a/dlls/inseng/inf.c b/dlls/inseng/inf.c
new file mode 100644
index 0000000..bead72c
index 00000000000..bead72c082c
--- /dev/null
+++ b/dlls/inseng/inf.c
@@ -0,0 +1,443 @@
@ -2234,7 +2236,7 @@ index 0000000..bead72c
+ return hr;
+}
diff --git a/dlls/inseng/inseng.spec b/dlls/inseng/inseng.spec
index 82c0b4d..7ae46fa 100644
index 82c0b4d5fe1..7ae46fad3a7 100644
--- a/dlls/inseng/inseng.spec
+++ b/dlls/inseng/inseng.spec
@@ -7,6 +7,6 @@
@ -2247,7 +2249,7 @@ index 82c0b4d..7ae46fa 100644
+@ stdcall GetICifRWFileFromFile(ptr str)
@ stub PurgeDownloadDirectory
diff --git a/dlls/inseng/inseng_main.c b/dlls/inseng/inseng_main.c
index 93649e2..f2e0ea5 100644
index 631a9364e39..afa13873c08 100644
--- a/dlls/inseng/inseng_main.c
+++ b/dlls/inseng/inseng_main.c
@@ -2,6 +2,7 @@
@ -2258,7 +2260,7 @@ index 93649e2..f2e0ea5 100644
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -29,19 +30,70 @@
@@ -28,19 +29,70 @@
#include "winuser.h"
#include "ole2.h"
#include "rpcproxy.h"
@ -2330,7 +2332,7 @@ index 93649e2..f2e0ea5 100644
};
static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface)
@@ -49,6 +101,250 @@ static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface)
@@ -48,6 +100,250 @@ static inline InstallEngine *impl_from_IInstallEngine2(IInstallEngine2 *iface)
return CONTAINING_RECORD(iface, InstallEngine, IInstallEngine2_iface);
}
@ -2581,7 +2583,7 @@ index 93649e2..f2e0ea5 100644
static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFIID riid, void **ppv)
{
InstallEngine *This = impl_from_IInstallEngine2(iface);
@@ -62,13 +358,16 @@ static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFII
@@ -61,13 +357,16 @@ static HRESULT WINAPI InstallEngine_QueryInterface(IInstallEngine2 *iface, REFII
}else if(IsEqualGUID(&IID_IInstallEngine2, riid)) {
TRACE("(%p)->(IID_IInstallEngine2 %p)\n", This, ppv);
*ppv = &This->IInstallEngine2_iface;
@ -2600,7 +2602,7 @@ index 93649e2..f2e0ea5 100644
return S_OK;
}
@@ -89,181 +388,726 @@ static ULONG WINAPI InstallEngine_Release(IInstallEngine2 *iface)
@@ -88,181 +387,726 @@ static ULONG WINAPI InstallEngine_Release(IInstallEngine2 *iface)
TRACE("(%p) ref=%d\n", This, ref);
@ -3363,7 +3365,7 @@ index 93649e2..f2e0ea5 100644
InstallEngine_QueryInterface,
InstallEngine_AddRef,
InstallEngine_Release,
@@ -293,6 +1137,70 @@ static const IInstallEngine2Vtbl InstallEngine2Vtbl = {
@@ -292,6 +1136,70 @@ static const IInstallEngine2Vtbl InstallEngine2Vtbl = {
InstallEngine2_GetICifFile
};
@ -3434,7 +3436,7 @@ index 93649e2..f2e0ea5 100644
static HRESULT WINAPI ClassFactory_QueryInterface(IClassFactory *iface, REFIID riid, void **ppv)
{
*ppv = NULL;
@@ -337,12 +1245,14 @@ static HRESULT WINAPI InstallEngineCF_CreateInstance(IClassFactory *iface, IUnkn
@@ -336,12 +1244,14 @@ static HRESULT WINAPI InstallEngineCF_CreateInstance(IClassFactory *iface, IUnkn
TRACE("(%p %s %p)\n", outer, debugstr_guid(riid), ppv);
@ -3452,7 +3454,7 @@ index 93649e2..f2e0ea5 100644
IInstallEngine2_Release(&engine->IInstallEngine2_iface);
diff --git a/dlls/inseng/inseng_private.h b/dlls/inseng/inseng_private.h
new file mode 100644
index 0000000..1a649e2
index 00000000000..1a649e251ec
--- /dev/null
+++ b/dlls/inseng/inseng_private.h
@@ -0,0 +1,79 @@
@ -3481,7 +3483,7 @@ index 0000000..1a649e2
+#include "rpcproxy.h"
+#include "inseng.h"
+#include "wine/heap.h"
+#include "wine/unicode.h"
+
+
+static inline char *strdupA(const char *src)
+{
@ -3494,8 +3496,8 @@ index 0000000..1a649e2
+{
+ WCHAR *dest;
+ if (!src) return NULL;
+ dest = HeapAlloc(GetProcessHeap(), 0, (strlenW(src) + 1) * sizeof(WCHAR));
+ if (dest) strcpyW(dest, src);
+ dest = HeapAlloc(GetProcessHeap(), 0, (lstrlenW(src) + 1) * sizeof(WCHAR));
+ if (dest) lstrcpyW(dest, src);
+ return dest;
+}
+
@ -3536,7 +3538,7 @@ index 0000000..1a649e2
+void component_set_installed(ICifComponent *iface, BOOL value) DECLSPEC_HIDDEN;
+ char *component_get_id(ICifComponent *iface) DECLSPEC_HIDDEN;
diff --git a/include/inseng.idl b/include/inseng.idl
index 8a3f4c4..8292741 100644
index 8a3f4c4d270..82927418a99 100644
--- a/include/inseng.idl
+++ b/include/inseng.idl
@@ -1,5 +1,6 @@
@ -3837,10 +3839,11 @@ index 8a3f4c4..8292741 100644
}
[
@@ -122,6 +365,16 @@ interface IInstallEngine2 : IInstallEngine
@@ -121,6 +364,16 @@ interface IInstallEngine2 : IInstallEngine
HRESULT GetICifFile(ICifFile **cif_file);
}
[
+[
+ uuid(6e449687-c509-11cf-aafa-00aa00b6015c),
+ local
+]
@ -3850,10 +3853,9 @@ index 8a3f4c4..8292741 100644
+ HRESULT GetInstallProgress(INSTALLPROGRESS *progress);
+}
+
+[
[
helpstring("Microsoft Active Setup Engine"),
threading(apartment),
uuid(6e449686-c509-11cf-aafa-00aa00b6015c)
@@ -134,3 +387,6 @@ coclass InstallEngine { }
uuid(bfc880f1-7484-11d0-8309-00aa00b6015c)
]
@ -3862,5 +3864,5 @@ index 8a3f4c4..8292741 100644
+cpp_quote("HRESULT WINAPI GetICifFileFromFile(ICifFile **, const char *);")
+cpp_quote("HRESULT WINAPI GetICifRWFileFromFile(ICifRWFile **, const char *);")
--
1.9.1
2.17.1

View File

@ -52,7 +52,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "4d5c874f42e27ac992f361c71490985d7553571a"
echo "48a74277f5f9e0c87d8c01457236a89d94cb71d3"
}
# Show version information

View File

@ -1,4 +1,4 @@
From 6a12467d0b1a0c3da1b188d8815e3065367e1bd4 Mon Sep 17 00:00:00 2001
From b0362c88d59f9a5674a01c04d18104e20500e823 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Fri, 18 Aug 2017 23:51:59 +0200
Subject: [PATCH] wined3d: Implement dual source blending.
@ -27,10 +27,10 @@ index 4b2f4350840..d6d4f0a3057 100644
ID3D11BlendState_Release(blend_state);
diff --git a/dlls/wined3d/adapter_gl.c b/dlls/wined3d/adapter_gl.c
index 70b7cd0f297..7c2f2235761 100644
index c22645fc1a2..98719ce57f7 100644
--- a/dlls/wined3d/adapter_gl.c
+++ b/dlls/wined3d/adapter_gl.c
@@ -2987,6 +2987,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct
@@ -2986,6 +2986,12 @@ static void wined3d_adapter_init_limits(struct wined3d_gl_info *gl_info, struct
gl_info->limits.buffers = min(MAX_RENDER_TARGET_VIEWS, gl_max);
TRACE("Max draw buffers: %u.\n", gl_max);
}
@ -43,7 +43,7 @@ index 70b7cd0f297..7c2f2235761 100644
if (gl_info->supported[ARB_MULTITEXTURE])
{
if (gl_info->supported[WINED3D_GL_LEGACY_CONTEXT])
@@ -3820,6 +3826,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
@@ -3814,6 +3820,10 @@ static BOOL wined3d_adapter_init_gl_caps(struct wined3d_adapter *adapter,
TRACE("Max texture stages: %u.\n", d3d_info->limits.ffp_blend_stages);
@ -55,10 +55,10 @@ index 70b7cd0f297..7c2f2235761 100644
{
/* We do not want to deal with re-creating immutable texture storage
diff --git a/dlls/wined3d/context.c b/dlls/wined3d/context.c
index e112a81ad5b..e0eed59b475 100644
index 2e562844194..da2d9348f1b 100644
--- a/dlls/wined3d/context.c
+++ b/dlls/wined3d/context.c
@@ -3128,10 +3128,23 @@ static uint32_t find_draw_buffers_mask(const struct wined3d_context_gl *context_
@@ -3120,10 +3120,23 @@ static uint32_t find_draw_buffers_mask(const struct wined3d_context_gl *context_
else if (!context_gl->c.render_offscreen)
return context_generate_rt_mask_from_resource(rts[0]->resource);
@ -84,10 +84,10 @@ index e112a81ad5b..e0eed59b475 100644
{
i = wined3d_bit_scan(&mask);
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
index e8a7dc46709..9bdf07b2a49 100644
index ab62c1ca599..95400d9d9b6 100644
--- a/dlls/wined3d/glsl_shader.c
+++ b/dlls/wined3d/glsl_shader.c
@@ -2936,6 +2936,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register *
@@ -2798,6 +2798,7 @@ static void shader_glsl_get_register_name(const struct wined3d_shader_register *
break;
case WINED3DSPR_COLOROUT:
@ -95,7 +95,7 @@ index e8a7dc46709..9bdf07b2a49 100644
if (reg->idx[0].offset >= gl_info->limits.buffers)
WARN("Write to render target %u, only %d supported.\n",
reg->idx[0].offset, gl_info->limits.buffers);
@@ -7840,7 +7841,10 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
@@ -7702,7 +7703,10 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
{
const struct wined3d_shader_signature *output_signature = &shader->output_signature;
@ -107,7 +107,7 @@ index e8a7dc46709..9bdf07b2a49 100644
if (output_signature->element_count)
{
for (i = 0; i < output_signature->element_count; ++i)
@@ -7855,7 +7859,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
@@ -7717,7 +7721,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
continue;
}
if (shader_glsl_use_explicit_attrib_location(gl_info))
@ -121,7 +121,7 @@ index e8a7dc46709..9bdf07b2a49 100644
shader_addline(buffer, "out %s4 color_out%u;\n",
component_type_info[output->component_type].glsl_vector_type, output->semantic_idx);
}
@@ -7868,7 +7877,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
@@ -7730,7 +7739,12 @@ static GLuint shader_glsl_generate_pshader(const struct wined3d_context *context
{
i = wined3d_bit_scan(&mask);
if (shader_glsl_use_explicit_attrib_location(gl_info))
@ -136,10 +136,10 @@ index e8a7dc46709..9bdf07b2a49 100644
}
}
diff --git a/dlls/wined3d/shader.c b/dlls/wined3d/shader.c
index 68cea78778e..10b42f389a9 100644
index a8fee07c6c3..52c817ea399 100644
--- a/dlls/wined3d/shader.c
+++ b/dlls/wined3d/shader.c
@@ -4157,6 +4157,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3
@@ -4137,6 +4137,8 @@ void find_ps_compile_args(const struct wined3d_state *state, const struct wined3
args->rt_alpha_swizzle |= 1u << i;
}
}
@ -149,7 +149,7 @@ index 68cea78778e..10b42f389a9 100644
static HRESULT pixel_shader_init(struct wined3d_shader *shader, struct wined3d_device *device,
diff --git a/dlls/wined3d/state.c b/dlls/wined3d/state.c
index 31ff3f676c6..707e5400005 100644
index c52e25d6ce2..fbd4e5647b7 100644
--- a/dlls/wined3d/state.c
+++ b/dlls/wined3d/state.c
@@ -533,12 +533,14 @@ static void state_blend(struct wined3d_context *context, const struct wined3d_st
@ -192,10 +192,10 @@ index 31ff3f676c6..707e5400005 100644
state->render_states[WINED3D_RS_SRCBLEND],
state->render_states[WINED3D_RS_DESTBLEND], rt_format);
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index 860fde83a58..b3337d5f12c 100644
index f9af8542ad0..d9434a2aa68 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -200,6 +200,7 @@ struct wined3d_d3d_info
@@ -198,6 +198,7 @@ struct wined3d_d3d_info
{
struct wined3d_d3d_limits limits;
struct wined3d_ffp_attrib_ops ffp_attrib_ops;
@ -203,7 +203,7 @@ index 860fde83a58..b3337d5f12c 100644
unsigned int wined3d_creation_flags;
unsigned int xyzrhw : 1;
unsigned int emulated_flatshading : 1;
@@ -1392,7 +1393,8 @@ struct ps_compile_args
@@ -1386,7 +1387,8 @@ struct ps_compile_args
DWORD alpha_test_func : 3;
DWORD render_offscreen : 1;
DWORD rt_alpha_swizzle : 8; /* MAX_RENDER_TARGET_VIEWS, 8 */
@ -213,17 +213,17 @@ index 860fde83a58..b3337d5f12c 100644
};
enum fog_src_type
@@ -1944,7 +1946,8 @@ struct wined3d_context
DWORD transform_feedback_paused : 1;
DWORD shader_update_mask : 6; /* WINED3D_SHADER_TYPE_COUNT, 6 */
@@ -1935,7 +1937,8 @@ struct wined3d_context
DWORD destroyed : 1;
DWORD destroy_delayed : 1;
DWORD clip_distance_mask : 8; /* WINED3D_MAX_CLIP_DISTANCES, 8 */
- DWORD padding : 11;
- DWORD padding : 15;
+ DWORD last_was_dual_blend : 1;
+ DWORD padding : 10;
+ DWORD padding : 14;
DWORD constant_update_mask;
DWORD numbered_array_mask;
@@ -2623,6 +2626,7 @@ struct wined3d_fbo_ops
@@ -2615,6 +2618,7 @@ struct wined3d_fbo_ops
struct wined3d_gl_limits
{
UINT buffers;
@ -231,7 +231,7 @@ index 860fde83a58..b3337d5f12c 100644
UINT lights;
UINT textures;
UINT texture_coords;
@@ -3090,6 +3094,22 @@ struct wined3d_state
@@ -3081,6 +3085,22 @@ struct wined3d_state
struct wined3d_rasterizer_state *rasterizer_state;
};
@ -255,5 +255,5 @@ index 860fde83a58..b3337d5f12c 100644
{
GLuint tex_1d;
--
2.20.1
2.17.1

View File

@ -1,27 +1,27 @@
From c21d5b2c6ac912a4bc4f4dff281f275b971796bc Mon Sep 17 00:00:00 2001
From 761d7a8f9ce64f1174a1903ab08de2cb5a5c10c3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
Date: Thu, 8 Jun 2017 23:50:03 +0200
Subject: [PATCH] programs/winedevice: Load some common drivers and fix ldr
order.
---
dlls/ntoskrnl.exe/tests/driver.c | 50 ++++++++++++++++++++++++++++++++++++++++
programs/winedevice/device.c | 26 +++++++++++++++++++++
dlls/ntoskrnl.exe/tests/driver.c | 50 ++++++++++++++++++++++++++++++++
programs/winedevice/device.c | 26 +++++++++++++++++
2 files changed, 76 insertions(+)
diff --git a/dlls/ntoskrnl.exe/tests/driver.c b/dlls/ntoskrnl.exe/tests/driver.c
index 73fc2fb..ed3fece 100644
index f5801a51620..fcea581353b 100644
--- a/dlls/ntoskrnl.exe/tests/driver.c
+++ b/dlls/ntoskrnl.exe/tests/driver.c
@@ -40,6 +40,7 @@ static const WCHAR driver_link[] = {'\\','D','o','s','D','e','v','i','c','e','s'
'\\','W','i','n','e','T','e','s','t','D','r','i','v','e','r',0};
@@ -43,6 +43,7 @@ static const WCHAR driver_link[] = {'\\','D','o','s','D','e','v','i','c','e','s'
static DRIVER_OBJECT *driver_obj;
static DEVICE_OBJECT *lower_device, *upper_device;
+static LDR_MODULE *ldr_module;
static HANDLE okfile;
static LONG successes;
@@ -1411,6 +1412,7 @@ static void test_resource(void)
@@ -1444,6 +1445,7 @@ static void test_resource(void)
ok(status == STATUS_SUCCESS, "got status %#x\n", status);
}
@ -29,7 +29,7 @@ index 73fc2fb..ed3fece 100644
static void test_lookup_thread(void)
{
NTSTATUS status;
@@ -1509,6 +1511,52 @@ static void WINAPI main_test_task(DEVICE_OBJECT *device, void *context)
@@ -1543,6 +1545,52 @@ static void WINAPI main_test_task(DEVICE_OBJECT *device, void *context)
IoCompleteRequest(irp, IO_NO_INCREMENT);
}
@ -82,7 +82,7 @@ index 73fc2fb..ed3fece 100644
static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *stack)
{
ULONG length = stack->Parameters.DeviceIoControl.OutputBufferLength;
@@ -1554,6 +1602,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st
@@ -1589,6 +1637,7 @@ static NTSTATUS main_test(DEVICE_OBJECT *device, IRP *irp, IO_STACK_LOCATION *st
test_stack_callout();
test_lookaside_list();
test_ob_reference(test_input->path);
@ -90,7 +90,7 @@ index 73fc2fb..ed3fece 100644
test_resource();
test_lookup_thread();
test_IoAttachDeviceToDeviceStack();
@@ -1704,6 +1753,7 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry)
@@ -1747,6 +1796,7 @@ NTSTATUS WINAPI DriverEntry(DRIVER_OBJECT *driver, PUNICODE_STRING registry)
DbgPrint("loading driver\n");
driver_obj = driver;
@ -99,7 +99,7 @@ index 73fc2fb..ed3fece 100644
/* Allow unloading of the driver */
driver->DriverUnload = driver_Unload;
diff --git a/programs/winedevice/device.c b/programs/winedevice/device.c
index f4ebad2..b8ed745 100644
index f4ebad2f2d0..b8ed745cb64 100644
--- a/programs/winedevice/device.c
+++ b/programs/winedevice/device.c
@@ -120,7 +120,33 @@ static DWORD WINAPI service_handler( DWORD ctrl, DWORD event_type, LPVOID event_
@ -137,5 +137,5 @@ index f4ebad2..b8ed745 100644
if (!(stop_event = CreateEventW( NULL, TRUE, FALSE, NULL )))
return;
--
1.9.1
2.17.1