https://bugs.winehq.org/show_bug.cgi?id=25086
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Multiple games and |Multiple games and |applications need |applications need |kernel32.GetLogicalProcesso |kernel32.GetLogicalProcesso |rInformationEx |rInformationEx |implementation (CPU-Z 1.72, |implementation (CPU-Z 1.72, |Splinter Cell: Blacklist, |Splinter Cell: Blacklist, |Adobe CC 2015) |Adobe CC 2015, Kontakt 5)
--- Comment #9 from Anastasius Focht focht@gmx.net --- Hello folks,
'Kontakt 5' also needs this (after working around bug 37694 and bug 39376).
http://www.native-instruments.com/en/products/komplete/samplers/kontakt-5-pl...
--- snip --- ... 0046:Call KERNEL32.GetModuleHandleW(0273fb64 L"kernel32.dll") ret=02746b2f 0046:Ret KERNEL32.GetModuleHandleW() retval=7b820000 ret=02746b2f 0046:Call KERNEL32.GetProcAddress(7b820000,02746ba8 "SetThreadGroupAffinity") ret=02746b3f 0046:Ret KERNEL32.GetProcAddress() retval=7b831498 ret=02746b3f 0046:Call KERNEL32.GetProcAddress(7b820000,02746bc0 "GetThreadGroupAffinity") ret=02746b4a 0046:Ret KERNEL32.GetProcAddress() retval=7b82f458 ret=02746b4a 0046:Call KERNEL32.GetModuleHandleW(0273fb64 L"kernel32.dll") ret=02746b7d 0046:Ret KERNEL32.GetModuleHandleW() retval=7b820000 ret=02746b7d 0046:Call KERNEL32.GetProcAddress(7b820000,02746bd8 "GetCurrentProcessorNumberEx") ret=02746b80 0046:Ret KERNEL32.GetProcAddress() retval=7b82bd84 ret=02746b80 0046:Call KERNEL32.LoadLibraryExW(027448e8 L"combase.dll",00000000,00000800) ret=02746c9a 0046:fixme:module:load_library unsupported flag(s) used (flags: 0x00000800) 0046:Call PE DLL (proc=0xf7576f04,module=0xf7570000 L"combase.dll",reason=PROCESS_ATTACH,res=(nil)) 0046:Call KERNEL32.DisableThreadLibraryCalls(f7570000) ret=f7576fb7 0046:Ret KERNEL32.DisableThreadLibraryCalls() retval=00000001 ret=f7576fb7 0046:Ret PE DLL (proc=0xf7576f04,module=0xf7570000 L"combase.dll",reason=PROCESS_ATTACH,res=(nil)) retval=1 0046:Ret KERNEL32.LoadLibraryExW() retval=f7570000 ret=02746c9a 0046:Call KERNEL32.GetModuleHandleW(027448e8 L"combase.dll") ret=02746cb3 0046:Ret KERNEL32.GetModuleHandleW() retval=f7570000 ret=02746cb3 0046:Call KERNEL32.GetProcAddress(f7570000,02744900 "RoInitialize") ret=02746cba 0046:Ret KERNEL32.GetProcAddress() retval=f7576754 ret=02746cba 0046:Call KERNEL32.GetModuleHandleW(027448e8 L"combase.dll") ret=02746cdc 0046:Ret KERNEL32.GetModuleHandleW() retval=f7570000 ret=02746cdc 0046:Call KERNEL32.GetProcAddress(f7570000,02746d08 "RoUninitialize") ret=02746ce3 0046:Ret KERNEL32.GetProcAddress() retval=f757676c ret=02746ce3 0046:Call KERNEL32.GetProcessAffinityMask(ffffffff,02800a9c,02800ab8) ret=02745bfb 0046:Ret KERNEL32.GetProcessAffinityMask() retval=00000001 ret=02745bfb 0046:Call KERNEL32.GetModuleHandleW(0273fb64 L"kernel32.dll") ret=02747b4d 0046:Ret KERNEL32.GetModuleHandleW() retval=7b820000 ret=02747b4d 0046:Call KERNEL32.GetProcAddress(7b820000,02747bac "GetLogicalProcessorInformationEx") ret=02747b54 0046:Ret KERNEL32.GetProcAddress() retval=7b82eb40 ret=02747b54 0046:Call KERNEL32.GetLogicalProcessorInformationEx(0000ffff,00000000,02800aa4) ret=02747b68 0046:fixme:process:GetLogicalProcessorInformationEx (65535,(nil),0x2800aa4): stub 0046:Ret KERNEL32.GetLogicalProcessorInformationEx() retval=00000001 ret=02747b68 0046:Call KERNEL32.GetLastError() ret=02747b70 0046:Ret KERNEL32.GetLastError() retval=00000002 ret=02747b70 0046:Call KERNEL32.GetLastError() ret=0277207d 0046:Ret KERNEL32.GetLastError() retval=00000002 ret=0277207d 0046:Call KERNEL32.RaiseException(e06d7363,00000001,00000003,0033f7ec) ret=02739339 0046:trace:seh:raise_exception code=e06d7363 flags=1 addr=0x7b845e29 ip=7b845e29 tid=0046 0046:trace:seh:raise_exception info[0]=19930520 0046:trace:seh:raise_exception info[1]=0033f814 0046:trace:seh:raise_exception info[2]=027fcf40 0046:trace:seh:raise_exception eax=7b832bc5 ebx=0000ffff ecx=0000000c edx=0033f724 esi=0033f7d0 edi=0033f790 0046:trace:seh:raise_exception ebp=0033f768 esp=0033f704 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00000202 0046:trace:seh:call_stack_handlers calling handler at 0x27fb404 code=e06d7363 flags=1 ---- snip ---
Sebastian's semi-stub can't work here. The app passes NULL for buffer in order to determine the actual size to be allocated. It checks the lasterror value for ERROR_INSUFFICIENT_BUFFER (0x7a).
$ sha1sum Kontakt\ 5.exe 766d67cce235078f3431c1c8ec6464d4bbab16ab Kontakt 5.exe
$ du -sh Kontakt\ 5.exe 35M Kontakt 5.exe
$ wine --version wine-1.7.52
Regards