lzexpand: Build with msvcrt.
[wine.git] / ANNOUNCE
blobc5c5a5d55fe0b12558f1f2c605e4d6b8086bc978
1 The Wine development release 4.9 is now available.
3 What's new in this release (see below for details):
4   - Initial support for installing Plug and Play drivers.
5   - Support for building 16-bit modules in PE format.
6   - A lot of code moved to the new KernelBase DLL.
7   - Various game controller fixes.
8   - Use higher performance system clocks if available.
9   - Various bug fixes.
11 The source is available from the following locations:
13   https://dl.winehq.org/wine/source/4.x/wine-4.9.tar.xz
14   http://mirrors.ibiblio.org/wine/source/4.x/wine-4.9.tar.xz
16 Binary packages for various distributions will be available from:
18   https://www.winehq.org/download
20 You will find documentation on https://www.winehq.org/documentation
22 You can also get the current source directly from the git
23 repository. Check https://www.winehq.org/git for details.
25 Wine is available thanks to the work of many people. See the file
26 AUTHORS in the distribution for the complete list.
28 ----------------------------------------------------------------
30 Bugs fixed in 4.9 (total 24):
32   27185  Futuremark PC Mark 7 (.NET 4.0 app) fails to run with Wine-Mono (mscoree:get_runtime Unrecognized version L"v4.0.20926")
33   34764  .NET Framework 3.5 SP1 based WPF applications crash on direct access of MIL (Media Integration Layer) to internal bitmap struct/class impl (depends on exact layout)
34   36764  Rogue Squadron 3D 1.3: Unable to setup controller in-game
35   36981  Flexera InstallShield 20.x based installers crash in NdrProxyInitialize (Samsung Kies 3, Designspark 6.1, Exelis ENVI 5.x)
36   41657  CoolQ 5.x reports network error on startup due to msscript:ScriptControl_Eval stub
37   43738  "MegaTagmension Blanc + Neptune VS Zombies" - Character models don't render
38   46406  TreePad X Enterprise (single user) 12GB v7.17.0: Garbled Text When Creating or Editing a Node/Tree Name
39   46655  Adobe Photoshop CC 2015.5: Tabs show completely black
40   46682  TopoEdit crashes with unimplemented function mf.dll.MFCreateAudioRendererActivate
41   46849  Vietcong: taking handmap causes crash (ProcessVertices)
42   47044  64-bit MRAC Anti-Cheat (My.Com Warface) kernel service fails in driver entry point due to missing 'ntoskrnl.exe.{ExAcquireFastMutex,ExReleaseFastMutex}'
43   47085  Spellforce 3 has misplaced text in main menu
44   47178  Grand Prix Legends: Service papycpu2 doesn't load
45   47183  Grand Prix Legends: Only the first two axes are recognized
46   47185  `winetricks -q msxml3` hangs
47   47188  Gamepad input no longer works (regression)
48   47190  Custom protocol handler CF doesn't support aggregation
49   47209  Gamepad input no longer works again (regression)
50   47214  Oracle Java runtime 8.211 online installer crashes in WoW64
51   47219  "winetricks -q ie8" hangs
52   47222  World of Tanks 1.5.0 launcher 'WotLauncher.exe' (0.3.x) crashes with Wine-Staging 4.7
53   47226  Incorrect crash information displayed for unimplemented function stubs when 64-bit Wine builtins are cross-compiled in PE format (Mingw-w64, MS x64 calling convention)
54   47238  Osmos refuses to start with built-in msvcp90
55   47249  CM_Set_Class_Registry_Property should use PCVOID for buffer parameter
57 ----------------------------------------------------------------
59 Changes since 4.8:
61 Akihiro Sagawa (10):
62       advapi32/tests: Add basic RegLoadMUIString tests.
63       advapi32: Support the base directory parameter in RegLoadMUIString.
64       advapi32: Improve parameter sanity checks in RegLoadMUIString.
65       advapi32: Improve load_string to return error code.
66       advapi32: Remove useless RegLoadMUIStringA implementation.
67       advapi32: Return required buffer size in RegLoadMUIString.
68       kernel32: Add traces to time zone functions.
69       advapi32/tests: Add RegLoadMUIString tests with REG_MUI_STRING_TRUNCATE flag.
70       advapi32: Factor out load_mui_string().
71       advapi32: Implement REG_MUI_STRING_TRUNCATE flag.
73 Alexandre Julliard (70):
74       include: Move inline assembly definitions to a new wine/asm.h header.
75       winecrt0: Store the appropriate longjmp() function in the exception frame.
76       winecrt0: Reimplement __wine_rtl_unwind() as a proper asm function.
77       winecrt0: Don't build unneeded code for Windows platforms.
78       configure: Rename WINE_CROSSTEST to WINE_CROSS_PE.
79       configure: Don't allow using config.h when cross-compiling.
80       dinput/tests: Remove duplicate const.
81       dinput8/tests: Remove duplicate const.
82       winebus.sys: Avoid ssize_t.
83       msvcp80: Fix the spec entries of the num_put_char/short/wchar functions.
84       msvcr: Fix the _NonReentrantPPLLock__Scoped_lock_ctor() spec entries.
85       msvcr: Fix the event_wait() spec entries.
86       vssapi: Fix the VSSAPI_CVssWriter_Initialize() spec entry.
87       include: Define fastcall assembly wrappers globally.
88       include: Define thiscall assembly wrappers globally.
89       riched20: Declare thiscall functions as __thiscall.
90       winebuild: Support Windows-style name mangling for fastcall functions.
91       include: Use the __fastcall attribute directly for the Windows build.
92       include: Use the __thiscall attribute directly for the Mingw build.
93       include: Pass function name directly to the __ASM_STDCALL macro.
94       winegcc: Use -static-libgcc for the Windows build.
95       msvcp90: Use the standard -mno-cygwin build flag.
96       msvcp100: Use the standard -mno-cygwin build flag.
97       msvcp110: Use the standard -mno-cygwin build flag.
98       msvcp120: Use the standard -mno-cygwin build flag.
99       msvcp140: Use the standard -mno-cygwin build flag.
100       vcruntime140: Use the standard -mno-cygwin build flag.
101       msvcp60: Use the standard -mno-cygwin build flag.
102       msvcp70: Use the standard -mno-cygwin build flag.
103       msvcp71: Use the standard -mno-cygwin build flag.
104       msvcp80: Use the standard -mno-cygwin build flag.
105       msvcirt: Use the standard -mno-cygwin build flag.
106       msvcrt20: Use the standard -mno-cygwin build flag.
107       msvcrt40: Use the standard -mno-cygwin build flag.
108       makefiles: Remove the check for msvcr* imports.
109       msvcrt: Update arguments for some forwarded functions.
110       cabarc: Remove duplicate defines.
111       cabinet/tests: Remove duplicate defines.
112       winebuild: Support relay debugging for PE builtin dlls.
113       makefiles: Don't depend on cross import library if not necessary.
114       makefiles: Use -fshort-wchar when building with msvcrt.
115       winebuild: Don't change %fs and %gs when calling 16-bit register functions.
116       winebuild: Store wine_ldt_copy pointer in the NE header at load time.
117       include: Don't allow using wine/library.h with msvcrt.
118       ntdll: Set LDR_WINE_INTERNAL flag also for PE builtins.
119       winebuild: Use cdecl calling convention for stub exceptions.
120       winebuild: Add 16-bit support for PE builds.
121       makefiles: Support cross-compilation of 16-bit libraries.
122       setupapi: Extract the 16-bit fake dll from the 32-bit PE one.
123       winedump: Print fake dll information also for NE files.
124       msvcrt: Add the static object files to all the msvcrt import libraries.
125       user.exe: Avoid using libwine functions.
126       toolhelp: Avoid using libwine functions.
127       rundll.exe: Build with msvcrt.
128       winhelp.exe: Build with msvcrt.
129       winoldap.mod: Build with msvcrt.
130       make_unicode: Add a wctype table in kernel32 for GetStringTypeW().
131       make_unicode: Store the C2_* values directly in the kernel32 wctype table.
132       make_unicode: Use a two-level table for the kernel32 wctype table.
133       make_unicode: Generate a separate table for BiDi direction type in usp10.
134       make_unicode: Store the full BiDi direction type in the table.
135       make_unicode: Avoid including wine/unicode.h in generated files.
136       dwrite: Use the same BiDi direction table as usp10.
137       gdi32: Use the same BiDi direction table as usp10.
138       make_unicode: Remove duplicate DECLSPEC_HIDDEN.
139       ntdll: Don't pass DLL_WINE_PREATTACH to the TLS callbacks.
140       setupapi/tests: Avoid size_t in traces.
141       quartz/tests: Add braces to avoid a clang warning.
142       ucrtbase: Move the vsnprintf() wrapper function to the ucrtbase import library.
143       makefiles: Add install dependency for PE builtins.
145 Alistair Leslie-Hughes (6):
146       dinput: Allow enumeration of joysticks with DirectX 3.
147       dinput: Handle setting DIPROP_CALIBRATIONMODE mode in generic implementation.
148       wineqtdecoder: Fix compile on MacOS.
149       dinput: Improve returned flags in Mouse GetObjectInfo.
150       dinput: Support DIDEVICEINSTANCE_DX3 for keyboard GetDeviceInfo.
151       include: Add helicopter Direct Input defines.
153 Andreas Maier (2):
154       jscript: Implement Enumerator object.
155       jscript/tests: Add more Enumerator tests.
157 Andrew Eikum (4):
158       winebus.sys: Fix report length calculation.
159       winebus.sys: Add missing padding between hatswitch and constant.
160       hid: Fix usage value mask.
161       msvcrt: Implement fma and fmaf.
163 André Hentschel (1):
164       include: Fix ASM_CFI definition.
166 Aurimas Fišeras (1):
167       po: Update Lithuanian translation.
169 Dmitry Timoshkov (11):
170       windowscodecs: Improve compatibility of IMILBitmap interface.
171       windowscodecs: Add support for IMILBitmapScaler interface.
172       windowscodecs/tests: Add some tests for IMILBitmap and IMILBitmapScaler interfaces.
173       windowscodecs: Correct IWICBitmapScaler::CopyPixels() error for not initialized case.
174       windowscodecs: Simplify some IMILBitmapScaler forwarders.
175       urlmon: Add support for PARSE_UNESCAPE to CoInternetParseUrl.
176       urlmon: Add ShouldShowIntranetWarningSecband stub.
177       urlmon: Add GetIUriPriv stub.
178       urlmon: Add CoInternetGetBrowserProfile stub.
179       urlmon/tests: Add a test for ProtocolCF_CreateInstance not supporting aggregation.
180       urlmon: If ProtocolCF_CreateInstance doesn't support aggregation retry without it.
182 Ethan Lee (1):
183       xaudio2: Use new features from FAudio 19.06 (but keep compatibility for <=19.05).
185 Fabian Maurer (2):
186       gdi32: CreatePolyPolygonRgn() returns an empty region when the area is empty.
187       setupapi: Correct function parameter for CM_Set_Class_Registry_PropertyA/W.
189 Gijs Vermeulen (1):
190       crypt32/tests: Fix some memory leaks (Valgrind).
192 Hans Leidekker (1):
193       ntdll: Fix breakpoint exception address on 64-bit Linux.
195 Henri Verbeet (35):
196       wined3d: Pass a wined3d_context_gl structure to context_update_tex_unit_map().
197       wined3d: Pass a wined3d_context_gl structure to draw_primitive_immediate_mode().
198       wined3d: Move the texture unit map from struct wined3d_context to struct wined3d_context_gl.
199       wined3d: Move the "blit_vbo" field from struct wined3d_context to struct wined3d_context_gl.
200       wined3d: Move the occlusion query fields from struct wined3d_context to struct wined3d_context_gl.
201       wined3d: Move the fence fields from struct wined3d_context to struct wined3d_context_gl.
202       wined3d: Move the timestamp query fields from struct wined3d_context to struct wined3d_context_gl.
203       wined3d: Move the stream-output statistics query fields from struct wined3d_context to struct wined3d_context_gl.
204       wined3d: Move the pipeline statistics query fields from struct wined3d_context to struct wined3d_context_gl.
205       wined3d: Pass a wined3d_context_gl structure to context_apply_clear_state().
206       wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_state_blit().
207       wined3d: Pass a wined3d_context_gl structure to context_check_fbo_status().
208       wined3d: Pass a wined3d_context_gl structure to context_set_draw_buffer().
209       wined3d: Pass a wined3d_context_gl structure to context_texture_update().
210       wined3d: Pass a wined3d_context_gl structure to context_bind_fbo().
211       wined3d: Pass a wined3d_context_gl structure to context_destroy_fbo().
212       wined3d: Pass a wined3d_context_gl structure to context_reuse_fbo_entry().
213       wined3d: Pass a wined3d_context_gl structure to context_destroy_fbo_entry().
214       wined3d: Pass a wined3d_context_gl structure to context_find_fbo_entry().
215       wined3d: Use context_acquire() in wined3d_swapchain_cs_init().
216       wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_entry().
217       wined3d: Pass a wined3d_context_gl structure to context_apply_fbo_state().
218       wined3d: Pass a wined3d_context_gl structure to context_queue_fbo_entry_destruction().
219       wined3d: Pass a wined3d_context_gl structure to context_apply_compute_state().
220       wined3d: Use wined3d_texture_get_level_box() in wined3d_device_update_texture().
221       wined3d: Move the FBO fields from struct wined3d_context to struct wined3d_context_gl.
222       wined3d: Pass a wined3d_context_gl structure to context_get_offscreen_gl_buffer().
223       wined3d: Pass a wined3d_context_gl structure to wined3d_context_gl_restore_pixel_format().
224       wined3d: Pass a wined3d_context_gl structure to context_set_pixel_format().
225       wined3d: Use wined3d_texture_get_level_box() in texture2d_load_texture().
226       wined3d: Pass a wined3d_context_gl structure to context_set_gl_context().
227       wined3d: Pass a wined3d_context_gl structure to context_update_window().
228       wined3d: Pass a wined3d_context_gl structure to context_enter().
229       wined3d: Pass a wined3d_context_gl structure to context_get_rt_size().
230       wined3d: Use wined3d_texture_get_level_box() in wined3d_texture_create().
232 Huw D. M. Davies (11):
233       configure: Don't define HAVE_CLOCK_GETTIME on macOS.
234       ntdll: Implement RtlGetSystemTimePrecise().
235       kernel32: Implement GetSystemTimePreciseAsFileTime() using RtlGetSystemTimePrecise().
236       ntdll: Use CLOCK_REALTIME_COARSE for NtQuerySystemTime() if it has sufficient resolution.
237       kernel32: Replace macros with inline helpers.
238       kernel32: Simplify TIME_CompTimeZoneID() by passing time as LONGLONG.
239       kernel32: Simplify is_not_current().
240       kernel32: Forward GetSystemTimeAsFileTime() to NtQuerySystemTime().
241       ntdll: Mark monotonic_counter() as inline.
242       ntdll: Extend NtGetTickCount() to return 64-bits. Forward kernel32 functions to it.
243       explorer: Set the default driver to mac,x11 in all cases.
245 Isira Seneviratne (1):
246       po: Update Sinhala translation.
248 Jacek Caban (12):
249       ntoskrnl.exe: Implement ExAcquireFastMutex and ExReleaseFastMutex.
250       ntoskrnl.exe: Implement PsGetProcessInheritedFromUniqueProcessId.
251       ntddk.h: Add a few more declarations.
252       urlmon/tests: Make ParseUrl call tests more strict.
253       jscript: Allow calling eval function from external code.
254       ntoskrnl.exe: Implement PsGetThreadProcessId.
255       mshtml: Fix window size in IOleDocumentView::SetRect implementation.
256       mshtml: Return rect relative to parent window in IOleDocumentView::GetRect.
257       mshtml: Implement IOleInPlaceObjectWindowless::SetObjectRects.
258       ntdll: Introduce wait_async helper.
259       server: Store pending flag in async object.
260       server: Always block overlapped device requests until driver dispatches them.
262 Jactry Zeng (1):
263       msscript: Partially implement IScriptControl::Eval().
265 Jimi Huotari (1):
266       winegstreamer: Fix spelling of 'initialized' in a TRACE().
268 Józef Kucia (1):
269       setupapi: Avoid debugstr buffer overflow.
271 Lauri Kenttä (1):
272       po: Update Finnish translation.
274 Marcus Meissner (1):
275       setupapi: Fix size to MultiByteToWideChar().
277 Martin Storsjo (2):
278       msvcrt: Hook up _setjmpex for arm64 as well.
279       ntdll: Avoid truncating a nonzero exit code to zero in unix.
281 Matteo Bruni (15):
282       wined3d: Avoid a GCC 8 warning.
283       d3d9: Always allow read and write map access to non-DEFAULT buffers.
284       d3d8: Always allow read and write map access to non-DEFAULT buffers.
285       wined3d: Pass a wined3d_context_gl structure to context_load_numbered_arrays().
286       wined3d: Pass a wined3d_context_gl structure to context_update_stream_sources().
287       wined3d: Avoid some redundant glVertexAttrib4f() calls.
288       wined3d: Add ARB_TEXTURE_MIRROR_CLAMP_TO_EDGE to core_extensions[].
289       winecfg: Don't mark glu32 as builtin-only.
290       wined3d: Always report support for ZBIAS and MIPMAPLODBIAS raster caps in the Vulkan backend.
291       wined3d: Report WINED3DPRASTERCAPS_MIPMAPLODBIAS only when supported.
292       wined3d: Assign 9_x feature levels more accurately.
293       d3d8: Check the WINED3DPRASTERCAPS_DEPTHBIAS cap bit to report D3DPRASTERCAPS_ZBIAS.
294       ddraw: Check the WINED3DPRASTERCAPS_DEPTHBIAS cap bit to report D3DPRASTERCAPS_ZBIAS.
295       wined3d: Get rid of WINED3DPRASTERCAPS_ZBIAS.
296       wined3d: Report WINED3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS when possible.
298 Michael Stefaniuc (3):
299       mfplat: Print the debug strings and not the pointers.
300       msctf: Remove useless cast to self.
301       kernel32/tests: Use the ARRAY_SIZE() macro.
303 Nikolay Sivov (50):
304       mf: Add stubs to create audio renderer sink.
305       mf: Add support for async commands for media session.
306       dwrite/layout: Use a helper to update layout metrics.
307       dwrite/layout: Use array allocation helper for typography features.
308       dwrite/font: Use existing helper for CreateFontFace().
309       dwrite/layout: Fix layout metrics width for whitespace-only lines.
310       dwrite/layout: Use interface pointer in text format method traces.
311       dwrite: Improve returned design glyph metrics.
312       dwrite: Use array allocation helper to manage family entries.
313       dwrite: Use array allocation helper to manage collection entries.
314       dwrite: Use array allocation helper for in-memory loader.
315       dwrite/analyzer: Use array allocation helper for fallback builder.
316       dwrite: Use array allocation helper for strings object.
317       dwrite/layout: Use array allocation helper for line metrics.
318       dwrite/tests: Fix a typo in test message.
319       kernelbase: Duplicate some path handling functions from shlwapi.
320       mf/session: Add stubs for playback rate API.
321       mf: Create presentation clock on session creation.
322       xaudio2: Fix 32-bit build.
323       kernelbase: Duplicate more path API from shlwapi.
324       kernelbase: Add QISearch().
325       kernelbase: Duplicate some of strings functions from shlwapi.
326       mfplat: Handle null destination for GetItem().
327       mf: Slightly improve topoloader Load().
328       kernelbase: Use a helper to get character C1 type.
329       kernelbase: Add string handling functions from user32.
330       kernelbase: Add LoadString() exports.
331       kernelbase: Add some more string handling functions from shlwapi.
332       mfplat: Return properties for system time source.
333       mfplat: Create system clock instance per system time source.
334       kernelbase: Add remaining string handling functions from shlwapi.
335       mf: Add sample grabber sink stub.
336       mf: Add IMFMediaTypeHandler stub for grabber stream.
337       mf: Add clock state sink stub for grabber.
338       mf: Add events support for grabber stream.
339       mf: Add events support for grabber sink.
340       comctl32/tooltips: Add a helper to free tool text.
341       comctl32/tooltips: Add a helper to set tool text.
342       comctl32/tooltips: Remove redundant condition.
343       kernelbase: Add most of path API from shlwapi.
344       mferror: Add some more error messages.
345       kernelbase: Add some URL API functions from shlwapi.
346       kernelbase: Remove helpers that are no longer necessary.
347       kernelbase: Add more URL API functions from shlwapi.
348       kernelbase: Add remaining path functions.
349       kernelbase: Add GetAcceptLanguages().
350       kernelbase: Add remaining URL functions.
351       kernelbase: Add SHLoadIndirectString().
352       kernelbase: Add some registry helpers from shlwapi.
353       mfplat: Add timestamp support for system time source.
355 Paul Gofman (13):
356       ddraw/tests: Test lighting with ambient light and material in ddraw1.
357       ddraw: Fix setting current viewport for ddraw1.
358       ddraw: Enable lighting only if material is set in d3d_execute_buffer_execute().
359       wined3d: Move validate_material_colour_source() to wined3d_private.h.
360       wined3d: Factor out compute_normal_matrix() function.
361       wined3d: Factor out wined3d_get_material_colour_source() function.
362       wined3d: Use the correct colour sources in process_vertices_strided().
363       wined3d: Move multiply_vector_matrix() to wined3d_private.h.
364       wined3d: Implement lighting with directional lights in process_vertices_strided().
365       ddraw/tests: Backport test_specular_lighting() for ddraw1.
366       wined3d: Implement point lights in process_vertices_strided().
367       wined3d: Implement spot lights in process_vertices_strided().
368       wined3d: Implement parallel point lights in process_vertices_strided().
370 Philip Rebohle (1):
371       d3dcompiler: Accept a stat chunk size of 28 for reflection.
373 Piotr Caban (13):
374       hid: Change format of preparsed data.
375       hidclass.sys: Remove no longer used features list.
376       hidclass.sys: Support descriptors with over 10 individual usages in feature.
377       hid: Set button values in HidP_SetUsages function.
378       hid: Fix error handling in HidP_SetUsages.
379       hidclass.sys: Limit written data to the actual report size.
380       winebus.sys: Fix typo in endpoint name.
381       winebus.sys: Correctly set HID device input number in device endpoint path.
382       winebus.sys: Restore IG_ substring in gamepads endpoint path.
383       kernel32: Add more CompareStringW tests.
384       libwine: Add helper function to compare character weights.
385       libwine: Decompose characters before comparing in wine_compare_string.
386       libwine: Ignore 0 weights as described in Unicode collation algorithm.
388 Roman Stingler (3):
389       include: Added some process creation Flags.
390       kernel32: Added some Numa stubs.
391       kernel32: Add stub WerUnregisterRuntimeExceptionModule.
393 Sven Baars (1):
394       comctl32: Always free the tooltip text before setting it (Valgrind).
396 Tim Schumacher (3):
397       services: Allow reading binary registry values as DWORDs.
398       joy.cpl: Check if effect is allocated before releasing it.
399       joy.cpl: Fix high CPU load in FF test window.
401 Zebediah Figura (90):
402       quartz: Make Parser_OutputPin_BreakConnect() a local helper.
403       winegstreamer: Make GSTOutPin_BreakConnect() a local helper.
404       wineqtdecoder: Make QTOutPin_BreakConnect() a local helper.
405       strmbase: Get rid of the "pfnBreakConnect" field from BaseOutputPinFuncTable.
406       setupapi: Handle an empty string for the source file in SetupQueueCopySection().
407       strmbase: Remove function pointers from the IEnumPinsImpl structure.
408       wineqtdecoder: Fix implementation of QT_GetPin().
409       strmbase: Determine the pin count using the GetPin() callback.
410       strmbase: Get rid of the "pfnGetPinCount" callback.
411       winegstreamer: Use CONTAINING_RECORD instead of casting.
412       strmbase: Use heap_alloc_zero() in enum_pins_create().
413       strmbase: Don't store the media type list locally.
414       strmbase: Get rid of the ENUMMEDIADETAILS structure.
415       strmbase: Return void from BaseFilter_Init().
416       strmbase: Get rid of the "filterVtbl" parameter to TransformFilter_Construct().
417       strmbase: Factor out strmbase_renderer_cleanup().
418       quartz/videorenderer: Use strmbase_renderer_cleanup().
419       quartz/vmr9: Use strmbase_renderer_cleanup().
420       quartz/dsoundrender: Use strmbase_renderer_cleanup().
421       qedit/nullrenderer: Use strmbase_renderer_cleanup().
422       strmbase: Get rid of BaseRendererImpl_Release().
423       setupapi: Implement SetupDiGetDeviceInstallParams().
424       setupapi: Implement SetupDiSetDeviceInstallParams().
425       setupapi/tests: Add some basic tests for SetupDi{Get, Set}DeviceInstallParams().
426       setupapi: Implement SetupDiGetActualSectionToInstallA().
427       setupapi: Define the correct platform extensions for each architecture.
428       setupapi/tests: Add tests for SetupDiGetActualSectionToInstall().
429       setupapi: Return the section name in SetupDiGetActualSectionToInstall() even if it doesn't exist.
430       quartz: Use CONTAINING_RECORD instead of casting.
431       qedit/samplegrabber: Correctly delegate IUnknown methods on the IMemInputPin interface.
432       amstream: Reimplement IMediaStreamFilter::EnumPins().
433       amstream: Reimplement IBaseFilter methods in the media stream filter.
434       setupapi/tests: Add some tests for SetupInstallFile().
435       setupapi: Retrieve the default destination path in SetupInstallFile().
436       setupapi: Clear the Win32 error if no copy was necessary.
437       setupapi: Don't fail a queued copy if no copy was necessary.
438       quartz/tests: Add some tests for IMediaSeeking on the filter graph.
439       qcap/tests: Clean up test_AviMux_QueryInterface().
440       qcap/tests: Add some tests for IMediaSeeking on the AVI mux filter.
441       strmbase/transform: Don't expose IMediaSeeking from the filter.
442       strmbase/transform: Don't expose IMediaPosition from the filter.
443       strmbase/transform: Don't expose IQualityControl from the filter.
444       quartz/filtergraph: Don't require IAMFilterMiscFlags when performing seek operations.
445       mshtml: Fix a copy-paste error.
446       mshtml: Avoid passing invalid memory to DispCallFunc().
447       msxml3: Load the version 1 typelib before trying to access it.
448       setupapi: Add an initial implementation of SetupDiBuildDriverInfoList().
449       setupapi: Check for compatible platforms in SetupDiBuildDriverInfoList().
450       setupapi: Implement directory search in SetupDiBuildDriverInfoList().
451       setupapi: Implement SetupDiEnumDriverInfo().
452       setupapi/tests: Add tests for building and enumerating driver lists.
453       setupapi: Add a semi-stub implementation of SetupDiSelectBestCompatDrv().
454       widl: Fix proxy vtbl generation in -Oi mode.
455       rpcrt4: Fail with CO_E_OBJNOTCONNECTED when trying to call methods on a disconnected proxy.
456       rpcrt4: Factor out get_handle_desc_size().
457       rpcrt4: Handle exceptions in a larger portion of NdrClientCall().
458       rpcrt4: Use a FINALLY block to clean up in do_ndr_client_call().
459       quartz/tests: Add some tests for IFilterGraph::SetDefaultSyncSource().
460       quartz/filtergraph: Don't require IAMFilterMiscFlags in IFilterGraph::SetDefaultSyncSource().
461       quartz/videorenderer: Don't expose IAMFilterMiscFlags.
462       quartz/dsoundrender: Don't expose IAMFilterMiscFlags.
463       qedit/nullrenderer: Don't expose IAMFilterMiscFlags.
464       strmbase: Rename BaseFilter_Destroy() to strmbase_filter_cleanup().
465       strmbase: Return void from strmbase_filter_cleanup().
466       evr: Use strmbase_filter_cleanup().
467       strmbase/transform: Use BaseFilter_Destroy().
468       qcap/avimux: Use BaseFilter_Destroy().
469       setupapi: Implement SetupDiRegisterCoDeviceInstallers().
470       setupapi: Add a basic implementation of SetupDiCallClassInstaller().
471       setupapi: Implement custom class installers in SetupDiCallClassInstaller().
472       setupapi: Call DIF_DESTROYPRIVATEDATA when deleting a device.
473       setupapi: Implement class co-installers in SetupDiCallClassInstaller().
474       setupapi: Implement device-specific co-installers in SetupDiCallClassInstaller().
475       qcap/smartteefilter: Use strmbase_filter_cleanup().
476       qcap/avico: Use strmbase_filter_cleanup().
477       qcap/audiorecord: Use strmbase_filter_cleanup().
478       qedit/samplegrabber: Use strmbase_filter_cleanup().
479       quartz/parser: Use strmbase_filter_cleanup().
480       setupapi: Implement SetupDiInstallDriverFiles().
481       setupapi: Process interface sections in SetupDiInstallDriverFiles().
482       setupapi: Implement SetupDiInstallDeviceInterfaces().
483       strmbase: Use an unsigned int for the GetPin() callback.
484       strmbase: Rename pfnGetPin to filter_get_pin.
485       strmbase: Remove unnecessary calling convention from the filter_get_pin() callback.
486       strmbase: Reimplement BaseFilterImpl_Release() using a destructor callback.
487       quartz/filesource: Use BaseFilterImpl_Release().
488       setupapi/tests: Clean up and expand tests for SetupCopyOEMInf().
489       setupapi: Check all INF files in SetupCopyOEMInf().
490       setupapi: Always fill output parameters in SetupCopyOEMInfA().
491       setupapi: Fix error handling in SetupInstallServicesFromInfSection().
493 Zhiyi Zhang (7):
494       gdi32/tests: Add D3DKMTOpenAdapterFromGdiDisplayName tests.
495       gdi32/tests: Add D3DKMTOpenAdapterFromHdc tests.
496       gdi32/tests: Add D3DKMTCloseAdapter tests.
497       gdi32/tests: Add D3DKMTCreateDevice tests.
498       gdi32/tests: Add D3DKMTDestroyDevice tests.
499       gdi32/tests: Add D3DKMTCheckVidPnExclusiveOwnership tests.
500       gdi32/tests: Add D3DKMTSetVidPnSourceOwner tests.
503 Alexandre Julliard
504 julliard@winehq.org