Software 42301 Published by

Alexandre Julliard has announced a new development release of the Windows compatibility layer Wine. This version comes with ineCfg program converted to PE, better high-DPI support in builtin applications, more preparation work for the GDI syscall interface, improved debugger support in Wow64 mode, and various bug fixes.



Wine release 6.17

The Wine development release 6.17 is now available.

What's new in this release (see below for details):
- WineCfg program converted to PE.
- Better high-DPI support in builtin applications.
- More preparation work for the GDI syscall interface.
- Improved debugger support in Wow64 mode.
- Various bug fixes.

The source is available from the following locations:

https://dl.winehq.org/wine/source/6.x/wine-6.17.tar.xz
http://mirrors.ibiblio.org/wine/source/6.x/wine-6.17.tar.xz

Binary packages for various distributions will be available from:

https://www.winehq.org/download

You will find documentation on https://www.winehq.org/documentation

You can also get the current source directly from the git
repository. Check https://www.winehq.org/git for details.

Wine is available thanks to the work of many people. See the file
AUTHORS in the distribution for the complete list.

----------------------------------------------------------------

Bugs fixed in 6.17 (total 12):

23979 SMSDV's main window is empty
36887 Trusteer Rapport setup crashes on unimplemented function ntoskrnl.exe.PsGetCurrentProcessSessionId
37592 Filenames in themed file dialog change size
40700 Page Scrolling Bar of PDF Eraser not rendered with wine-mono
45133 Multiple applications need 'ntdll.NtQueryInformationProcess' to support 'ProcessSessionInformation' info class (ProcessHacker, NewProcessFromToken)
49625 winedbg --command 'info wnd' fails with Exception c0000005
51655 iphlpapi regression prevents Samsung SDK from working properly
51672 Imperiums: Greek Wars has small black window on launch (caused by wrong position).
51693 ntdll:info fails on Windows 7 64-bit
51702 AFxW: the working directory of launched Unix application isn't set
51726 wineserver crashes with an assert()
51728 copypasta in pwcache.c:ctox()

----------------------------------------------------------------

Changes since 6.16:

Akihiro Sagawa (3):
ntdll: Fix use-after-free.
dbghelp: Get rid of useless while loop.
po: Update Japanese translation.

Alex Henrie (5):
cmd: Fix capitalization of WCMD_ReadFile in comment.
ntdll/tests: Remove unused variable sbi from test_query_process.
wpp: Allow fully variadic macros.
include: Provide a definition of NOP_FUNCTION that works on GCC.
uiautomationcore: Add UiaDisconnectProvider stub.

Alexandre Julliard (26):
ntdll/tests: Fix a size check for older Windows versions.
winebuild: Add an option to set the syscall table id.
ntdll: Add a helper function to set a syscall table.
ntdll: Store the syscall argument table on the PE side.
ntdll: Declare the syscall functions array explicitly.
ntdll: Don't use winebuild for the Unix part.
makefiles: Always link Unix libraries against ntdll.so.
win32u: Add the infrastructure for building the syscall table.
wow64win: Add the infrastructure for wrapping the win32u syscall table.
wow64: Add support for multiple syscall tables.
wow64: Patch the Wow64Transition pointer in all loaded modules.
wow64: Load wow64win.dll.
configure: Remove some no longer needed configure checks.
shell32: Avoid some code duplication.
shell32: Pass the destination Windows path to _SHCreateSymbolicLink().
shell32: Don't put shell folders inside My Documents.
mountmgr: Add requests to query and set shell folder symbolic links.
winecfg: Use mountmgr to manage shell folders.
winecfg: Build with msvcrt.
winecfg: Use wide character string literals.
winecfg: Use Unicode functions throughout.
configure: Enable ws2_32 build on Windows.
shell32: Share more code between the various IShellFolder_GetDetailsOf implementations.
shell32: Merge the drag & drop implementation from the Unix shell folder.
shell32: Merge the property bag implementation from the Unix shell folder.
Revert "ntdll: Add a Wine-specific class in NtQueryVirtualMemory to retrieve the init functions of a module."

Anton Baskanov (5):
sfnt2fon: Avoid out-of-bounds read (AddressSanitizer).
fonts: Fix breve glyph position in 16px MS Sans Serif.
fonts: Fix dotaccent glyph position in Small Fonts.
wined3d: Fix the odd line condition in gen_yv12_read().
wined3d: Simplify the odd line condition in gen_yv12_read().

Aurimas Fišeras (2):
po: Update Lithuanian translation.
po: Update Lithuanian translation.

Bernhard Übelacker (3):
attrib: Avoid crash when called without parameter.
cmd/tests: Add test for attrib without parameter.
cmd: Load start.exe from the system directory.

Charles Davis (5):
winemac.drv: Enable layer-backed views.
winemac.drv: Use a mask layer to support window regions.
winemac.drv: Move GL context update code to -viewWillDraw method.
winemac.drv: Set the surface contents directly to the layer.
winemac.drv: Remove now unused -[WineContentView drawRect:].

Connor McAdams (1):
oleacc: Implement AccessibleObjectFromEvent.

Dmitry Timoshkov (3):
wininet/tests: Add some tests for InternetErrorDlg(FLAGS_ERROR_UI_FILTER_FOR_ERRORS).
wininet: Fix some InternetErrorDlg() conditions returning ERROR_INVALID_PARAMETER.
wininet: Add handling for remaining special errors to InternetErrorDlg.

Eric Pouech (55):
dbghelp: Fix NameLen usage in SYMBOL_INFO(W).
dbghelp: Fill more fields in SYMBOL_INFO in SymGetTypeFromName.
dbghelp: Fix two internal buffer allocations.
dbghelp: Correctly store and report bitfield information.
dbghelp: Introduce internal type (symt_module) to match SymTagExe.
dbghelp: Return the stored name for a compiland.
dbghelp: Return the symt_module when requesting lexical parent of a UDT.
dbghelp: Enums should be found by name (as UDTs are).
dbghelp: Return the correct length for an enumeration.
dbghelp: Return a lexical parent for enums (as we do for UDTs).
dbghelp: Added missing break statement.
dbghelp: Split storage of PE header.
dbghelp: Store the IMAGE_OPTIONAL_HEADER in either 32bit or 64bit form.
dbghelp: Fix SymInitialize for a live 32bit target from a 64bit caller in WOW64.
dbghelp: Tidy up internals for array type.
winedbg: Allow debugging a 32bit target from a 64bit winedbg.
dbghelp: Fix dwarf2 subprogram handling.
dbghelp: Add dwarf support of DW_FORM_ref_udata.
dbghelp: Add a couple of more traces when querying an attribute's value.
dbghelp: Update/clarify dwarf definitions for 3/3f/4 standard versions.
dbghelp: Fix dwarf constants.
dbghelp: Always return a type in lookup_type, even in case of errors.
dbghelp: Mostly get rid of symt_cache in dwarf debug information.
dbghelp: Added an unknown type in symt_cache for handling bad references to types.
dbghelp: Check correctness of type (esp. in case of unknown ones).
dbghelp: Don't call assert() on missing subprogram dwarf's information.
dbghelp: Harden inspection of Dwarf line number information.
dbghelp: Fix erroneous string manipulation when said string is empty.
dbghelp: Properly handle errors when reading first DIE in compilation unit.
dbghelp: Handle the case where loader isn't what WINELOADER reports.
dbghelp: SymLoadModule* should return the base address in case of success, and 0 otherwise.
dbghelp: Allow loading virtual module at any address.
dbghelp: Return correct error code when reloading a module in SymLoadModule*.
dbghelp: Use module->modulename instead of module->module.ModuleName in traces.
dbghelp: Use the correct module name for lookups including module's name.
include: Extend IMAGEHLP_MODULE*64 with new fields.
dbghelp: Manage the new MachineType field in IMAGEHLP_MODULE(W)64.
dbghelp: Make symt_fill_func_line_info() and symt_get_func_line_next() static functions inside symbol.c.
dbghelp: Add internal_line_t structure as help in Line manipulation.
dbghelp: Implement all SymGetLineNext* functions using internal_line_t.
dbghelp: Rewrite SymGetLinePrev* with internal_line_t.
dbghelp: Set is_first and is_last flags on the fly in symt_add_func_line.
dbghelp: Get rid of useless symt_normalize_func().
dbghelp/dwarf: Allow tweaking from env variable which DWARF version is to be loaded.
dbghelp/dwarf: Add dwarf2_cuhead_s structure to hold compilation unit parsing info.
dbghelp/dwarf: Share compilation unit header information.
dbghelp/dwarf: Add word size parameter to parse_addr() internal function.
dbghelp/dwarf: Pass dwarf2_cuhead_t for addr details to swallow_attribute.
dbghelp/dwarf: Pass a parse_cuhead_t to compute_location().
dbghelp/dwarf: Pass word_size as a parameter to a couple of frame related functions.
dbghelp/dwarf: Use word_size from cuhead_t.
dbghelp/dwarf: Pass dwarf2_cuhead_t to lookuploclist().
dbghelp/dwarf: Initialize module's word_size at module load time.
dbghelp: Use correct parameter name.
dbghelp: Ensure all adresses are stored at least in DWORD_PTR.

Esme Povirk (4):
mscoree: Always base the config file path on the main exe.
mscoree: Don't trace arguments in CorExeMain.
mscoree: Add a buffer for Mono's debug output.
sppc: Stub SLClose.

Fabian Maurer (1):
mpr: Fix copy paste error when converting hex char to int.

Floris Renaud (1):
po: Update Dutch translation.

François Gouget (28):
shlwapi: Fix ASCII / ANSI mixups in comments.
shlwapi: Tweak the wording of the _SHStrDupAToBSTR() documentation.
shlwapi/tests: Fix some ASCII / ANSI mixups in ok() messages.
winex11.drv: Remove WINAPI on static functions where not needed.
kerberos: Make accept_context() static.
quartz: Remove WINAPI on static functions where not needed.
windowscodecs: Remove WINAPI on static functions where not needed.
iphlpapi: Make the adapters_addresses_*() functions static.
crypt32: Make gnutls_(un)?initialize() static.
comctl32: Fix an ASCII / ANSI mixup in a comment.
user32: Fix ASCII / ANSI mixups in comments.
dnsapi: Make the resolv_*() functions static.
shlwapi: Fix the length returned by SHFormatDateTimeA().
msxml3: SchemaCache_version() is unused so remove it.
advapi32/tests: Fix some Perflib subkey tests.
msi: Remove CDECL on static functions where not needed.
shell32: Fix a couple of ASCII / ANSI mixups in comments.
shlwapi/tests: Test a NULL flags pointer for SHFormatDateTime().
shlwapi/tests: Remove SHFormatDateTimeA() crash test.
windowscodecs: Make the png_{de,en}coder_*() functions static.
wined3d: Make wined3d_context_vk_allocate_memory() static.
uxtheme/tests: Use the OpenThemeDataForDpi() function pointer.
nsi/tests: Improve the error messages.
wininet/tests: Remove some unnecessary traces from the http test.
mf: Remove WINAPI on static functions where not needed.
windowscodecs: Make the jpeg_encoder_*() functions static.
msvcrt: Remove CDECL on static functions where not needed.
msvcp140_1: Remove __cdecl on static functions where not needed.

Gabriel Ivăncescu (3):
user32: Add a helper to retrieve the work rect.
user32: Don't save maximized pos of top-level wnds covering whole work rect.
jscript: Fix refcounting the object prototype fallback.

Georg Lehmann (2):
winevulkan: Update to VK spec version 1.2.190.
winevulkan: Update to VK spec version 1.2.191.

Gerald Pfeifer (1):
nsiproxy: Include sys/param.h from udp.c.

Gijs Vermeulen (2):
include/wuapi: Add WindowsUpdateAgentInfo coclass and interface.
avicap32: Partially implement capCreateCaptureWindowW.

Giovanni Mascellani (2):
tzres: Regenerate TZ data from de facto standard sources.
tzres: Take timezone display names from Unicode CLDR database.

Guillaume Charifi (2):
kernelbase: Add stub for SetProcessGroupAffinity().
api-ms-win-core-processtopology-l1-1-0: Add dll.

Hans Leidekker (4):
webservices: Return an error when the record value is too large for the description type.
webservices: Add support for WS_XML_TEXT_TYPE_INT64 in text_to_uint32().
webservices: Increase the size of the writer heap.
webservices: Add support for RECORD_BYTES32_TEXT in write_text_bin().

Hermès Bélusca-Maïto (1):
shlwapi: SHAddDataBlock() returns BOOL, not HRESULT.

Hugh McMaster (1):
conhost: Set keyboard focus to correct radio button in save dialog.

Jacek Caban (60):
gdi32: Use NtGdiGetGlyphIndicesW for GetGlyphIndicesW.
gdi32: Move a few font functions to text.c.
gdi32: Use ntgdi names for a few more font functions.
gdi32: Use NtGdiGetFontFileData for GetFontFileData.
gdi32: Move GdiRealizationInfo to text.c.
gdi32: Move EnumFontFamiliesEx wrappers to text.c.
gdi32: Move resource functions wrappers to text.c.
gdi32: Use ntgdi names for GetClipBox and GetRandomRgn.
gdi32: Move more DC stubs to gdidc.c.
gdi32: Use ntgdi names for object functions.
gdi32: Move stub object functions to objects.c.
gdi32: Move EnumObjects to objects.c.
gdi32: Use NtGdiExtCreatePen for ExtCreatePen.
gdi32: Use NtGdiCreateCompatibleBitmap for CreateCompatibleBitmap.
gdi32: Use NtGdiGetAndSetDCDword for SetGraphicsMode.
gdi32: Use NtGdiGetDIBitsInternal for GetDIBits.
gdi32: Use NtGdiCreateDIBitmapInternal for CreateDIBitmap.
gdi32: Use NtGdiCreateDIBSection for CreateDIBSection.
wininet: Return ERROR_CANCELLED for unsupported errors in InternetErrorDlg.
wininet: Prefer recent windows results in InternetErrorDlg tests.
gdi32: Use EnumFontFamiliesExW for EnumFontFamiliesExA.
gdi32: Use NtGdiEnumFonts for EnumFontFamiliesExW.
gdi32: Use NtGdiAddFontMemResourceEx for AddFontMemResourceEx.
gdi32: Use ntgdi for AddFontResourceExW and RemoveFontResourceExW.
gdi32: Copy TranslateCharsetInfo to text.c.
gdi32: Move CombineTransform to objects.c.
gdi32: Move LineDDA to objects.c.
gdi32: Move GdiDllInitialize to objects.c.
gdi32: Use NtGdiGetRandomRgn for GetClipRgn.
gdi32: Use NtGdiGetRandomRgn for GetMetaRgn.
gdi32: Use ntgdi names for spool functions.
gdi32: Store abort proc in DC_ATTR.
gdi32: Use NtGdiStartDoc for StartDoc.
gdi32: Use ntgdi interface for printer driver functions.
gdi32: Move GdiConvertToDevmodeW to gdidc.c.
gdi32: Use shifted values for NTGDI_OBJ_* constants.
gdi32: Use NtGdiGetDCObject for GetCurrentObject.
gdi32: Use ntgdi functions to create stock objects.
gdi32: Get stock objects directly from GDI_SHARED_MEMORY in GetStockObject.
gdi32: Use internal get_stock_object in ntgdi functions.
gdi32: Use NtGdiDeleteObjectApp instead of DeleteObject in ntgdi functions.
gdi32/tests: Add more metafile brush tests.
gdi32: Allocate extra DWORD for EMR_CREATEDIBPATTERNBRUSHPT records.
gdi32: Copy brush bits in get_brush_bitmap_info.
gdi32: Use zero biClrUsed in emfdc_create_brush when possible.
gdi32: Move get_full_gdi_handle to objects.c.
gdi32: Move metafile defines to gdi_private.h.
gdi32: Don't use gdi_private.h and ntgdi_private.h at the same time.
gdi32: Factor out get_bitmap_info.
gdi32: Use EMR_MASKBLT to record MaskBlt.
gdi32: Use EMR_PLGBLT to record PlgBlt.
gdi32: Support NULL prev_value in NtGdiGetAndSetDCDword.
gdi32: Use GetICMProfile driver entry point for EnumICMProfilesW.
gdi32: Factor out get_icm_profile.
gdi32/test: Add tests for recording MaskBlt and PlgBlt in EMFs.
gdi32: Use EMR_TRANSPARENTBLT to record GetTransparentBlt.
gdi32/tests: Add GdiTransparentBlt tests.
gdi32: Fix some ntgdi names.
gdi32: Directly use ntgdi functions in font.c.
gdi32: Remove no longer needed metafile special case from NtGdiExtTextOutW.

Jan Sikorski (2):
winemac.drv: Omit WM_ENTER/EXITSIZEMOVE on non-interactive window changes.
wined3d: Remove wined3d_texture_copy_sysmem_location().

Matteo Bruni (1):
d3dcompiler: Clear preprocessor lexer state after running it.

Michael Stefaniuc (5):
dbghelp: Remove superfluous casts to self.
riched20/tests: Don't cast NULL.
dhtmled.ocx: Forward ConnectionPoint_Release() to a release method.
quartz: Forward dsound_render_qc_Release() to a release method.
dpnet: Don't assign a COM object to the 3rd param of QueryInterface.

Nikolay Sivov (35):
comctl32/listview: Remove description headers from Edit box helpers.
d3d10/effect: Add a semi-stub for GetShaderDesc().
d3d10/effect: Store bytecode blob for every shader.
d3d10/effect: Discard some of the shader metadata when optimizing an effect.
d3d10/effect: Support stream output declaration when creating geometry shaders.
d3d10/tests: Add a test for inline geometry shader with stream output declaration.
d3dx10/font: Store font description data.
d3dx10/font: Create gdi objects on font object creation.
d3dx10/font: Implement GetTextMetrics().
d3dx10_39/tests: Enable tests.
d3d10/effect: Set IsInline in GetShaderDesc().
d3d10/effect: Store stream output declaration for inline shaders too.
d3d10/effect: Create shaders with stream output when declaration string is present.
d3d10/effect: Remove unnecessary early returns.
d3d10/effect: Fix indexing in GetVertexShader().
d3dx10/font: Add PreloadTextW().
d3dx10/font: Add PreloadCharacters().
d3dx10/sprite: Store projection matrix.
d3d10/effect: Fix indexing in GetPixelShader().
d3d10/effect: Fix indexing in GetGeometryShader().
d3d10/effect: Use case-insensitive comparison in GetVariableBySemantic().
d3d10/effect: Use case-insensitive comparison in GetMemberTypeBySemantic().
d3d10/effect: Use case-insensitive comparison in GetMemberBySemantic().
d3dx10_38/tests: Enable tests.
d3dx10: Partially implement D3DX10CreateEffectFromResource().
widl: Write default values for VARIANT arguments.
wined3d: Handle null semantics in stream output description cache.
ole32: Remove unused CoGetCallerTID() stub.
ole32: Merge ole2* source files.
d3d10/tests: Test SystemValueType field.
d3d10/effect: Set corresponding variable flag when explicit bind point is specified for a constant buffer.
d3d10/effect: Use same field to return ExplicitBindPoint for all variable types.
d3d10/effect: Handle rgba masks in stream output declarations.
d3d10/effect: Handle special $SKIP semantic in stream output declaration.
d3d10/effect: Fix d3d object creation for arrays of state objects.

Paul Gofman (1):
kernelbase: Mind OS version in the PE header when reporting OS version.

Piotr Caban (1):
concrt140: Avoid forwarding to msvcp120 by duplicating msvcp90/details.c.

Rémi Bernon (31):
winebus.sys: Report WINEBUS\WINE_COMP_HID compatible id.
winebus.sys: Report WINEBUS\WINE_COMP_XINPUT compatible id for gamepads.
winexinput.sys: Introduce a new winexinput.sys driver.
winebus.sys: Stop enforcing input and IG suffix on gamepads.
winebus.sys: Pass a struct bus_event pointer to bus_wait.
winebus.sys: Return an event from SDL bus wait on device removal.
winebus.sys: Return an event from UDEV bus wait on device removal.
winebus.sys: Return an event from IOHID bus wait on device removal.
winebus.sys: Move mouse and keyboard devices to unixlib.c.
winexinput.sys: Don't set RawDeviceOk in IRP_MN_QUERY_CAPABILITIES.
winexinput.sys: Handle IRP_MN_QUERY_DEVICE_RELATIONS in pdo_pnp.
winexinput.sys: Request the bus device report descriptor on startup.
hidclass.sys: Use a separate class for devices matching WINEXINPUT\*&XI_*.
winexinput.sys: Create an additional internal xinput PDO.
xinput1_3/tests: Wait for the state to change before checking it.
xinput1_3: Use the internal WINEXINPUT device interface class.
winebus.sys: Create devices using a struct device_desc descriptor.
winebus.sys: Move device vtable to the struct unix_device side.
winebus.sys: Look for duplicate UDEV devices on the unix side.
winebus.sys: Remove the now useless bus_enumerate_hid_devices.
winebus.sys: Return an event from SDL bus wait on device creation.
winebus.sys: Return an event from UDEV bus wait on device creation.
winebus.sys: Return an event from IOHID bus wait on device creation.
dinput8/tests: Move HID driver tests from ntoskrnl.exe.
winexinput.sys: Look for caps in the lower HID report descriptor.
winexinput.sys: Translate lower reports into XInput HID reports.
dinput8/tests: Read the HID report descriptor from the registry.
dinput8/tests: Read HID_DEVICE_ATTRIBUTES from the registry.
dinput8/tests: Read the expected lengths from the registry.
dinput8/tests: Stop increasing the sequence in HID_GET_INPUT_REPORT.
hidclass.sys: Call HID_READ_REPORT to read reports in polled mode.

Tim Clem (1):
winemac.drv: Allow cycling of windows with Cmd+`.

Zebediah Figura (44):
shlwapi/tests: Use the public definition of DATABLOCK_HEADER.
shlwapi/tests: Use Wine names for ordinal functions.
kernel32/tests: Add some tests for IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Validate the output size for IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_QUERY_POINTS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_QUERY_DHCP_REQUEST_PARAMS.
mountmgr: Return STATUS_BUFFER_OVERFLOW if an insufficient buffer is passed to IOCTL_MOUNTMGR_ENUMERATE_CREDENTIALS.
nsiproxy: Return STATUS_BUFFER_OVERFLOW to signal short buffers.
kernelbase: Return TRUE from DeviceIoControl() if the NT status denotes success.
server: Remove the async from the queue in async_set_result().
server: Do not call async_terminate() when restarting an already terminated async.
server: Use async->iosb->status instead of async->status in async_satisfied().
server: Use a separate field to track whether the async has been alerted.
server: Use a simple boolean to track whether the async has been terminated.
server: Allow calling async_terminate() with STATUS_PENDING.
server: Allow completing non-alerted asyncs with STATUS_PENDING.
server: Do not create an iosb for IRP calls not associated with an async.
server: Introduce a helper to fill an iosb and terminate the async.
server: Add a helper to call async_request_complete() while allocating new memory.
server: Use async_request_complete() in message_queue_read().
server: Move the STATUS_ALERTED logic from async_request_complete() to async_terminate().
avicap32: Build with msvcrt.
d3dcompiler/tests: Test including an absolute path.
server: Use a separate function and flag to communicate that the initial status of an async is not known yet.
server: Mark the async as pending in IOCTL_AFD_BIND.
server: Mark the async as pending in IOCTL_AFD_EVENT_SELECT.
server: Check the status code to determine whether the async has failed.
server: Return void from the get_volume_info callback.
server: Return void from the read callback.
server: Return void from the write callback.
server: Return void from the flush callback.
server: Return void from the ioctl callback.
server: Add helper functions to perform atomic stores.
server: Fill the TimeZoneBias member of KSHARED_USER_DATA.
server: Make sure that async_request_complete() is called in the case of a failed connection as well.
d3dcompiler/tests: Link directly to the relevant d3dcompiler version.
d3dcompiler_46/tests: Enable tests.
d3dcompiler: Handle D3D_COMPILE_STANDARD_FILE_INCLUDE in preprocess_shader().
d3dcompiler/tests: Test include preprocessing with more functions.
server: Cancel asyncs through fd_ops.
server: Queue a cancel IRP in the device file cancel_async callback.
ntoskrnl/tests: Test a pending NtQueryVolumeInformation call on an overlapped file handle.
server: Use a separate field to track whether an async is blocking.
server: Don't wake up always-blocking asyncs.

Zhiyi Zhang (34):
user32/tests: Add DisplayConfigSetDeviceInfo() tests.
uxtheme/tests: Add GetThemePartSize() tests.
uxtheme: Implement OpenThemeDataForDpi().
comctl32: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
uxtheme: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
winecfg: Use OpenThemeDataForDpi() to create a theme handle not associated to a window.
uxtheme: Get DPI from theme class.
control: Add DPI system awareness settings to the application manifest.
clock: Add DPI system awareness settings to the application manifest.
dxdiag: Add system DPI awareness settings to the application manifest.
explorer: Add system DPI awareness settings to the application manifest.
hh: Add system DPI awareness settings to the application manifest.
iexplore: Set process DPI settings to be system awareness.
msiexec: Add system DPI awareness settings to the application manifest.
msinfo32: Add system DPI awareness settings to the application manifest.
notepad: Add system DPI awareness settings to the application manifest.
oleview: Add system DPI awareness settings to the application manifest.
regedit: Add system DPI awareness settings to the application manifest.
taskmgr: Add system DPI awareness settings to the application manifest.
uninstaller: Add system DPI awareness settings to the application manifest.
view: Add system DPI awareness settings to the application manifest.
wineboot: Add system DPI awareness settings to the application manifest.
winecfg: Add system DPI awareness settings to the application manifest.
winedbg: Add system DPI awareness settings to the application manifest.
winefile: Add system DPI awareness settings to the application manifest.
winemine: Add system DPI awareness settings to the application manifest.
winetest: Add system DPI awareness settings to the application manifest.
winevdm: Add system DPI awareness settings to the application manifest.
winver: Add system DPI awareness settings to the application manifest.
wordpad: Add system DPI awareness settings to the application manifest.
uxtheme: Get and set system metrics in 96 DPI.
user32: Change scroll bar minimum thumb size to 8 pixels.
user32: Scale scroll bar minimum thumb size according to DPI.
regsvr32: Enable visual styles.

Wine