1 The Wine development release 4.2 is now available.
3 What's new in this release (see below for details):
4 - Unicode string normalization support.
5 - Support for ECC cryptographic keys.
6 - Support for mixing 32/64-bit dlls in the load path.
7 - Futex-based implementations for more synchronization primitives.
10 The source is available from the following locations:
12 https://dl.winehq.org/wine/source/4.x/wine-4.2.tar.xz
13 http://mirrors.ibiblio.org/wine/source/4.x/wine-4.2.tar.xz
15 Binary packages for various distributions will be available from:
17 https://www.winehq.org/download
19 You will find documentation on https://www.winehq.org/documentation
21 You can also get the current source directly from the git
22 repository. Check https://www.winehq.org/git for details.
24 Wine is available thanks to the work of many people. See the file
25 AUTHORS in the distribution for the complete list.
27 ----------------------------------------------------------------
29 Bugs fixed in 4.2 (total 60):
31 12453 Bad performance in Source based games
32 17913 Port Royale: sea is black
33 19748 Multiple games complain about checking occlusion query results from the wrong thread (Metro 2033, Unreal Tournament 3, Counter Strike: Source, Metro 2033, Call of Duty 4, Left 4 Dead, Left 4 Dead 2, Final Fantasy XIV, Half-Life 2)
34 20083 SIV (System Information Viewer) v4.00 SIVDRIVER crashes to due invalid PIO_STACK_LOCATION->FileObject passed into IRP_MJ_DEVICE_CONTROL dispatch routine
35 21101 Can't use SHIFT key with onboard visual keyboard and wine application
36 23863 The Bard's Tale (2005): unplayable due to almost completely black screen
37 28167 EA Sports FIFA 11 crashes on startup
38 35096 Kerning misbehavior for Hebrew text in Office 2010
39 35889 wine1.6 display fuzzy chinese ttf fonts, but dialog fonts display normal
40 36201 valgrind shows a definite leak under crypt32/tests/store.c
41 36261 valgrind shows a use after free in d3d_device_inner_Release() ddraw/tests/ddraw{4,7}.c
42 36267 valgrind shows an invalid read in ddraw/tests/ddraw4.c
43 36340 valgrind shows several warnings in ddraw/tests/ddraw2.c
44 36343 valgrind shows some leaks in ddraw/tests/ddraw4.c
45 36348 valgrind shows a couple leaks in d3d9/tests/d3d9ex.c
46 36349 valgrind shows a few leaks in d3d9/tests/stateblock.c
47 36380 valgrind shows a possible leak in in ddraw/tests/ddraw1.c
48 36381 valgrind shows a couple possible leaks in in ddraw/tests/ddraw2.c
49 36382 valgrind shows a possible leak in in ddraw/tests/ddraw7.c
50 36620 valgrind shows a few invalid reads in ddraw/tests/ddraw1.c
51 36621 valgrind shows several definite leaks in ddraw/tests/ddraw1.c
52 36623 valgrind shows some leaks in ddraw/tests/ddraw7.c
53 36631 valgrind shows a definite leak in in ddraw/tests/ddraw2.c
54 36658 valgrind shows an invalid read in ddraw/tests/d3d.c
55 36660 ddraw/tests/d3d.c CapsTest crashes under valgrind
56 36689 ddrawex/tests/surface.c crashes under valgrind/nvidia
57 37639 Multiple applications crash on unimplemented function vssapi.dll.?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z (AlphaShadow v1.2, EMC Retrospect 7)
58 38021 64-bit Planetside 2 fails to load bundled xinput1_3.dll (loader must check architecture before trying to load module)
59 38138 Avencast: Rise of the Mage: invisible doors
60 38685 valgrind shows an invalid read in d3d9/tests/d3d9ex.c
61 39080 The Settlers: Rise of an Empire: world geometry broken
62 40036 Shadows of Destiny Crash After Begins
63 41168 Test Drive Unlimited Crash before entry main menu
64 42573 Several Flickering Senran Kagura Shinovi Versus
65 42704 1Password 6.4.377 needs function bcrypt.dll.BCryptDeriveKeyPBKDF2
66 42734 NormalizeString (Unicode normalization) is not implemented
67 42911 Bayonetta: launches but screen stays black
68 44150 Alien vs Predator: Crash in DX11 Mode
69 45312 AC Syndicate needs bcrypt algorythm/functions (ECDH_P256, BCryptGenerateKeyPair, BCryptFinalizeKeyPair)
70 45473 Rogue Squadron 3D crashes on startup
71 45524 Add a futex-based implementation of condition variables
72 45570 League of Legends 8.12+ fails to start a game (anticheat engine, incorrect implementation of LdrInitializeThunk)
73 45820 Symantec Eraser Control Driver 'eeCtrl64.sys' (Norton 360) crashes on unimplemented function ntoskrnl.exe.ExpInterlocked{Push,Pop}EntrySList
74 46047 Multiple applications want Windows 8+ futex-like operations kernelbase.dll.WaitOnAddress, kernelbase.dll.WakeByAddress{All,Single} (VLC)
75 46088 BETest tool from Windows 10 SDK (10.0.17763.x) crashes on unimplemented function vssapi.dll.CreateVssBackupComponentsInternal
76 46127 aria2 1.34 fails to connect, reports 'WinTLS: Channel setup failed. Schannel provider did not fulfill requested flags. Excepted: 33180 Actual: 33052'
77 46208 Elite Dangerous is unstable in wine-devel
78 46252 StarCitizen has bad performance
79 46300 Yousician: unimplemented function mfplat.dll.MFGetSystemTime
80 46341 kernel32/tests/pipe.c shows uninitialized memory use in test_overlapped_transport()
81 46387 ReactOS/Windows XP TASKMGR: Column headers don't scroll when scrolling horizontally (multiple listview or header control)
82 46516 AfterEffects CS16 headless renderer crashes due to missing crypt32 functions CryptHashCertificate2 and CryptImportPublicKeyInfoEx2
83 46565 Disney's Chicken Little displays text upside down
84 46581 HeidiSQL generates OLE error when executing custom queries against MSSQL server.
85 46602 3D Custom Girl fails to render characters
86 46611 Readiris 17 fails to load when d2d1 is enabled: fixme:d2d:d2d_factory_CreateGeometryGroup iface
87 46617 Far Cry v1.40 locks up on the loading screen
88 46618 Far Cry v1.40 locks up when changing screen resolution or anti-aliasing level
89 46631 winecfg fails to load
90 46644 Ichitarou crashes when creating a new document (needs msvcrt._ismbcl1)
92 ----------------------------------------------------------------
96 Alexandre Julliard (29):
97 kernel32: Fix handling of NULL argument in SetDllDirectoryA().
98 ntdll: Don't use current directory for libraries unless explicitly specified in the search path.
99 setupapi/tests: Avoid sizeof in traces.
100 ntdll: Use an NT filename to search for loaded modules.
101 ntdll: Return an NT filename in find_dll_file().
102 ntdll: Pass an NT filename to get_load_order().
103 ntdll: Use NT filenames when loading dlls.
104 ntdll: Remove no longer used parameter from find_fileid_module().
105 ntdll: Pass a flag instead of a file handle to load_builtin_dll().
106 ntdll: Directly try to open the dll file instead of checking for existence first.
107 ntdll: Create the memory mapping for a dll directly at open time.
108 server: Add custom flag for fake dlls in PE image information.
109 ntdll: Use the image info to check for fake dlls.
110 ntdll: Skip dlls of the wrong machine type when searching through the load path.
111 crypt32: Don't build password_to_ascii without GnuTLS.
112 ntdll: Use the current platform as processorArchitecture instead of a wildcard.
113 ntdll: Reimplement init_user_process_params() using RtlCreateProcessParametersEx().
114 ntdll: Hardcode the path of the windows directory for redirects.
115 server: Create the windows directories at startup if necessary.
116 ntdll: Also create the initial process parameters with RtlCreateProcessParametersEx().
117 ntdll: Recreate the process parameters structure once everything has been initialized.
118 ntdll/tests: Add tests for initial process parameters layout.
119 dinput: Add error check to silence a compiler warning.
120 ntdll: Return the kernel process start address from __wine_kernel_init().
121 ntdll: Rename attach_dlls() to LdrInitializeThunk().
122 ntdll: Make the CPU information global.
123 ntdll: Store extended FPU context in NtGetContextThread().
124 ntdll: Store extended FPU state and debug registers in RtlRaiseException().
125 server: Report a 64-bit CPU for IL-only binaries.
127 Alistair Leslie-Hughes (12):
128 combase: Add DllGetActivationFactory stub.
129 comdlg32: Improve PRINT32 dialog.
130 secur32: Fix compile error on older gnutls.
131 include: Add more VSS_* typedefs.
132 include: Add VSS writer enums.
133 include: Convert header vswriter to an idl.
134 include: Add vsbackup.idl.
135 vssapi: Add CreateVssBackupComponentsInternal stub.
136 vssapi: Add ?CreateVssBackupComponents@@YGJPAPAVIVssBackupComponents@@@Z stub.
137 dsound: IDirectSoundNotify is only available when DSBCAPS_CTRLPOSITIONNOTIFY is specified.
138 comdlg32: Improve Printer Setup dialog.
139 mfplat: Implement MFGetSystemTime.
142 msi: Remove duplicate condition in msi_dialog_destroy().
143 crypt32: Remove duplicate condition in CRYPT_AsnDecodeNameValueInternal().
144 mscoree: Fix condition in CorDebug_Release().
147 hidclass.sys: Prevent buffer overrun.
148 configure: Use SDL2_LIBS if set.
151 po: Update Lithuanian translation.
154 wineboot: Fix PROCESSOR_ARCHITECTURE reg value.
155 vbscript: Allow more keywords to be used as identifiers.
158 gdi32: Fix vertical rotation.
159 gdi32: Add a helper function to get the transform matrices.
160 gdi32: Add helper functions to cache the glyph metrics.
161 gdi32: Add helper functions to compute the glyph metrics.
162 gdi32: Add helper functions to get GGO glyph bitmap.
163 gdi32: Add a helper macro for FreeType version check.
165 Dmitry Timoshkov (7):
166 windowscodecs: WICConvertBitmapSource should ask IWICFormatConverter::Initialize to use an optimized palette.
167 windowscodecs: Fix behaviour of format converter for indexed formats when NULL or empty palette has been provided.
168 windowscodecs/tests: Add a bunch of new tests for indexed format conversions.
169 windowscodecs/tests: Add some tests for converting 24bppBGR to 8bppIndexed format.
170 crypt32: CryptAcquireCertificatePrivateKey should look up certificate in the user's store if not linked to a provider.
171 wineps.drv: Add stubs for escapes required by Adobe PageMaker.
172 wineps.drv: PostScript header should be written by StartDoc instead of StartPage.
174 Gabriel Ivăncescu (28):
175 comctl32/listbox: Check for out of bounds using the index when painting the item.
176 comctl32/listbox: Use a helper to expand the item array.
177 comctl32/listbox: Shrink the item array with resize_storage.
178 comctl32/listbox: Return proper value for LB_INITSTORAGE.
179 comctl32/tests: Add tests for LB_INITSTORAGE.
180 user32/listbox: Check for out of bounds using the index when painting the item.
181 user32/listbox: Use a helper to expand the item array.
182 user32/listbox: Shrink the item array with resize_storage.
183 user32/listbox: Return proper value for LB_INITSTORAGE.
184 user32/tests: Add tests for LB_INITSTORAGE.
185 comctl32/listbox: Resize the entire item array at once in SetCount.
186 comctl32/listbox: Repaint the old selected item after setting the item selection.
187 comctl32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
188 comctl32/tests: Test changing the selection styles after listbox creation.
189 comctl32/listbox: Use a helper to retrieve item data by index.
190 comctl32/listbox: Use a helper to retrieve item string by index.
191 comctl32/listbox: Use is_item_selected in more places.
192 comctl32/listbox: Use a helper to set the selected item state.
193 comctl32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
194 user32/listbox: Resize the entire item array at once in SetCount.
195 user32/listbox: Repaint the old selected item after setting the item selection.
196 user32/listbox: Use descr->selected_item for single-selection listboxes when checking selection.
197 user32/tests: Test changing the selection styles after listbox creation.
198 user32/listbox: Use a helper to retrieve item data by index.
199 user32/listbox: Use a helper to retrieve item string by index.
200 user32/listbox: Use is_item_selected in more places.
201 user32/listbox: Use a helper to set the selected item state.
202 user32/listbox: Send LB_RESETCONTENT from RemoveItem rather than DeleteItem.
205 odbc32: Improve tracing in a number of functions.
206 odbc32: Work around drivers that don't accept NULL name length in SQLDescribeCol.
207 odbc32: Improve tracing in the remaining functions.
208 secur32: Add support for client certificate authentication.
209 crypt32/tests: Show that PFXImportCertStore doesn't set CERT_KEY_PROV_INFO_PROP_ID.
210 secur32: Return ISC_RET_USED_SUPPLIED_CREDS for schannel contexts if the feature was requested.
211 secur32: Fix default return flags for schannel contexts.
212 wininet: Trace modifiers in hexadecimal in HttpAddRequestHeaders.
213 bcrypt: Implement BCryptGenerate/FinalizeKeyPair for ECDH P256.
214 bcrypt: Add support for importing and exporting ECC public keys.
215 bcrypt: Add support for importing and exporting ECC private keys.
216 bcrypt: Implement BCryptDeriveKeyPBKDF2.
217 msi: Initialize assembly caches before disabling redirection.
218 msi: Link directly to sxs.
221 d3d8: Improve ValidateVertexShader().
223 Huw D. M. Davies (7):
224 kernel32/tests: Move the tests to a per-test todo.
225 kernel32: Initial support for canonical decomposition in NormalizeString().
226 kernel32: Implement canonical reordering.
227 libport: Add support for compatibility decomposition.
228 libport: Add support for singleton decomposition.
229 kernel32: Implement canonical composing.
230 user32/listbox: Remove some unnecessary differences to the comctl32 version.
232 Isira Seneviratne (4):
233 po: Update Sinhala translation.
234 po: Update Sinhala translation.
235 view: Move open dialog filter string to resource file and add extensions.
236 po: Update Sinhala translation.
239 ntoskrnl.exe: Properly export *SList functions on win64.
240 ntoskrnl.exe: Add PsRevertToSelf stub.
241 ntoskrnl.exe: Implement ExDeleteNPagedLookasideList.
242 ntoskrnl.exe: Set FileObject of IRP passed to driver callbacks.
243 ntoskrnl.exe: Add KeRevertToUserAffinityThread stub.
244 ntoskrnl.exe/tests: Introduce get_proc_address helper.
245 mshtml: Add style.borderCollapse property implementation.
246 mstml: Add style.borderSpacing property implementation.
247 mshtml: Support custom user agent strings in IOmNavigator::get_appVersion.
248 ntoskrnl.exe: Add PsReferenceProcessFilePointer stub.
249 kernel32: Support MUI_LANGUAGE_ID flag in EnumUILanguages.
250 mshtml: Suport load event in HTMLXMLHttpRequest object.
251 mshtml: Expose nsIFormPOSTActionChannel interface from nsChannel object.
254 shcore: Don't return E_FAIL in IStream::SetSize() for read-only mode.
255 ole32/tests: Test PropVariantCopy() with VT_UNKNOWN.
256 propsys: Implement PSCreateMemoryPropertyStore().
257 propsys/tests: Add tests of IPropertyStore interface.
258 propsys: Implement PropVariantToDouble().
261 d3d8/tests: Use correct index variable in test_resource_access() (Coverity).
262 d3d9/tests: Use correct index variable in test_resource_access() (Coverity).
263 d3d11: Avoid using wined3d_stream_output_element for validation.
264 wined3d: Do not convert SO declaration entries.
265 wined3d: Export wined3d_extract_shader_input_signature_from_dxbc().
266 wined3d: Keep original component index in stream output elements.
267 wined3d: Factor out shader_get_stream_output_register_info().
268 wined3d: Remove unnecessary src_format NULL check from arbfp_blit_supported().
269 wined3d: Remove unnecessary src_format NULL check from ffp_blit_supported().
270 wined3d: Remove unnecessary src_format NULL check from glsl_blitter_supported().
271 ddraw/tests: Destroy viewport in test_lighting_interface_versions() (Valgrind).
272 wined3d: Mark dcl_input_ps_{siv, sgv} shader instructions as implemented.
275 editorconfig: Indent Makefiles properly.
278 winemac: Fix failure to render OpenGL on macOS 10.14 (Mojave).
281 po: Update Finnish translation.
284 d3d9: Refuse to create D3DUSAGE_WRITEONLY textures.
285 d3d8: Refuse to create D3DUSAGE_WRITEONLY textures.
286 ddraw: Refuse to create non-managed DDSCAPS_WRITEONLY surfaces.
287 wined3d: Cleanup stateblock state before enumerating resources.
288 d3d9: Keep track of D3DUSAGE_AUTOGENMIPMAP textures in the d3d9 device.
289 d3d11/tests: Simplify test_cb_relative_addressing() a bit.
290 d3d10core/tests: Simplify test_cb_relative_addressing() a bit.
293 ntoskrnl.exe: Implement ExInitializeNPagedLookasideList.
294 ntoskrnl.exe: Implement NtBuildNumber.
296 Michael Stefaniuc (16):
297 webservices: Delete duplicated return value checks.
298 d3dx9/tests: Actually test the return of the effect SetInt() call.
299 kernelbase: Avoid TRUE : FALSE conditional expressions.
300 taskschd: Avoid TRUE : FALSE conditional expressions.
301 dmime/tests: Test the return value of IDirectMusic_SetDirectSound().
302 gdi32: Avoid TRUE : FALSE conditional expressions.
303 odbc32: Print the debug strings and not the pointers.
304 amstream: Remove useless cast to self.
305 crypt32: Remove useless cast to self.
306 d3d10core/tests: Remove useless casts to self.
307 d3dxof: Remove useless casts.
308 oleaut32/tests: Fix printing of an expected value.
309 oleaut32/tests: Floating point numeric constants are by default doubles.
310 ddraw/tests: Remove useless casts to self.
311 d3d10/tests: Remove useless casts to self.
312 d3d11/tests: Remove useless casts to self.
315 dwrite: Implement mark-to-mark attachment, GPOS lookup 6.
316 dwrite: Add a stub for mark-to-ligature attachment handler.
317 dwrite: Fix positions in outline mode.
318 dwrite: Store outline offset as a vector.
319 comctl32/listview: Take care of scrolling offset when repositioning header.
320 comctl32/listview: Remove duplicated handle check.
321 uiautomationcore: Return success from UiaRaiseAutomationEvent().
322 d2d1: Add ID2D1GeometryGroup stub.
323 uiautomationcore: Add UiaHostProviderFromHwnd() stub.
324 dwrite: Use more appropriate allocation helpers.
325 xmllite/tests: Test complete writer output for UTF-16 case.
326 msvcrt: Add _ismbcl0_l().
327 msvcrt: Add _ismbcl1_l().
328 msvcrt: Add _ismbcl1().
329 msvcrt: Add _ismbcl2_l().
330 msvcrt: Add _ismbcl2().
333 user32: Select more appropriate stretch mode for colored images interpolation.
334 user32/tests: Add more tests for SetWindowPos() on child window.
335 wined3d: Use lower 8 bits only from _ALPHAREF state.
336 d3d9/tests: Add test for bigger alpha reference values.
337 d3d8/tests: Port test_alphatest() from d3d9.
338 wined3d: Ignore multisample quality for MULTISAMPLE_NONE in context_find_fbo_entry().
339 d3d9/tests: Test mismatched multisample quality with D3DMULTISAMPLE_NONE.
340 ddraw/tests: Port test_alphatest() from d3d9.
341 wined3d: Initialise stream frequency to 1.
342 d3d9/tests: Test GetStreamSourceFreq() before any values were set.
343 wined3d: Return 1e10f for MaxVertexW from wined3d_get_device_caps().
344 d3d9/tests: Add test for MaxVertexW device capability.
345 d3d8/tests: Add test for MaxVertexW device capability.
346 d3d9/tests: Add test for buffer read / write.
347 wined3d: Invalidate _SYSMEM location when mapping opengl buffer.
348 d3dx9/tests: Clear vertex shader constants in test_effect_states().
349 d3dx9/tests: Add more tests for VertexShaderConstant state.
350 d3dx9: Handle short parameter in d3dx_set_shader_const_state().
351 d3dx9: Use parameter data for the first constant only in d3dx_set_shader_const_state().
354 kernel32/tests: Add file mapping tests on readonly file.
355 kernel32/tests: Test that copy-on-write file mapping is not modifying the file.
356 api-ms-win-crt-private-l1-1-0: Add __std_terminate implementation.
357 msvcrt: Add _ismbbtrail_l implementation.
358 msvcrt: Add _ismbclegal_l implementation.
359 msvcrt: Validate character in _ismbcl0.
360 msvcrt: Use mbtowc/wctomb for string conversion in printf.
361 msvcrt: Use correct locale when validating character in _ismbcl0_l and _ismbcl1_l.
362 msvcrt: Change __getmainargs signature.
364 Sergio Gómez Del Real (2):
365 riched20: Mask out extended flags introduced by CHARFORMAT2 when converting to CHARFORMAT.
366 gdi32/dibdrv: Clip segment points to dib rect in wide_line_segment().
369 ole32: Fix some memory leaks (Valgrind).
370 riched20: Fix IRichEditOle COM aggregation (Valgrind).
371 shell32: Don't return a path from SHGetKnownFolderPath when it can not be created.
372 mstask: Fix some memory leaks on error path (Valgrind).
373 mstask: Move memory allocation to avoid a memory leak (Valgrind).
374 taskschd: Fix some memory leaks (Valgrind).
375 ws2_32: Use heap_realloc instead of HeapReAlloc to avoid an invalid realloc (Valgrind).
376 wininet/tests: Fix some memory leaks (Valgrind).
377 webservices/tests: Add a missing closesocket call (Coverity).
379 Vijay Kiran Kamuju (1):
380 setupapi: Add stub for CM_Get_Sibling.
382 Yussur-Mustafa Oraji (1):
383 httpapi: Add stub for HttpCloseServerSession.
385 Zebediah Figura (36):
386 wined3d: Set the correct matrix in wined3d_device_multiply_transform().
387 wined3d: Store texture states in the wined3d_stateblock_state structure.
388 wined3d: Store textures in the wined3d_stateblock_state structure.
389 wined3d: Factor out init_default_sampler_states().
390 wined3d: Store sampler states in the wined3d_stateblock_state structure.
391 kernelbase/tests: Relax tests for WaitOnAddress().
392 ntdll: Add a futex-based implementation of WaitOnAddress().
393 winebus.sys: Translate SDL controller axes to unsigned 32-bit values.
394 hid: Don't sign-extend 16-bit values.
395 wined3d: Store transforms in the wined3d_stateblock_state structure.
396 wined3d: Store clip planes in the wined3d_stateblock_state structure.
397 wined3d: Store the material in the wined3d_stateblock_state structure.
398 wined3d: Store the viewport in the wined3d_stateblock_state structure.
399 wined3d: Store the scissor rect in the wined3d_stateblock_state structure.
400 wined3d: Store the index buffer in the wined3d_stateblock_state structure.
401 wined3d: Store vertex declaration in the wined3d_stateblock_state structure.
402 wined3d: Store blend factor in the wined3d_stateblock_state structure.
403 wined3d: Store stream state in the wined3d_stateblock_state structure.
404 ntdll: Reimplement condition variables on top of RtlWaitOnAddress().
405 comsvcs/tests: Add tests for implicit MTA creation in RegisterDispenser().
406 comsvcs: Create an implicit MTA thread in RegisterDispenser().
407 ntdll: Add a direct futex-based implementation of condition variables.
408 oleaut32: Register non-dual dispinterfaces using the correct proxy.
409 wined3d: Get rid of apply_lights() helper.
410 wined3d: Introduce a separate structure for light state.
411 wined3d: Introduce wined3d_state_set_light() helper.
412 wined3d: Store lights in the wined3d_stateblock_state structure.
413 wined3d: Correct indices for contained states in wined3d_stateblock_apply().
414 user32/tests: Execute test_shell_window() last.
415 wined3d: Get rid of the "update_state" field from struct wined3d_device.
416 wined3d: Get rid of the "state" field from struct wined3d_stateblock.
417 hid: Correctly sign-extend all values in HidP_GetScaledUsageValue().
418 hid: Scale from logical to physical coördinates in HidP_GetScaledUsageValue().
419 xinput: Use HidP_GetScaledUsageValue().
420 xinput: Use a struct instead of an array to store axis information.
421 xinput: Fix axis scaling arithmetic.
424 setupapi: Implement SetupDiSetDevicePropertyW.
425 setupapi: Implement SetupDiGetDevicePropertyW.