[Bug 8094] New: exception due to unimplemented shell32.dll!OpenAs_RunDLL(A/W)

Wine Bugs wine-bugs at winehq.org
Wed Apr 18 08:53:55 CDT 2007


http://bugs.winehq.org/show_bug.cgi?id=8094

           Summary: exception due to unimplemented
                    shell32.dll!OpenAs_RunDLL(A/W)
           Product: Wine
           Version: 0.9.35.
          Platform: PC
               URL: http://www.ghisler.com
        OS/Version: All
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: wine-shell32
        AssignedTo: wine-bugs at winehq.org
        ReportedBy: focht at gmx.net


Hello,

double click of unassociated file item in "total commander" (file manager)
produces exception due to unimplemented shell32 function.

--- snip ---
fixme:exec:SHELL_execute flags ignored: 0x00000500
trace:seh:raise_exception code=80000100 flags=1 addr=0x7b840750
trace:seh:raise_exception  info[0]=657a0e80
trace:seh:raise_exception  info[1]=657a1218
wine: Call from 0x7b840750 to unimplemented function shell32.dll.OpenAs_RunDLLW,
aborting
trace:seh:call_stack_handlers calling handler at 0x7b82bf28 code=80000100 flags=1
wine: Unimplemented function shell32.dll.OpenAs_RunDLLW called at address
0x7b840750 (thread 0023), starting debugger...
trace:seh:start_debugger Starting debugger "winedbg --auto 34 48"
trace:seh:call_stack_handlers handler at 0x7b82bf28 returned 1
--- snip ---

Resolution: add stub impl

--- snip include/shell32.spec ---
@ stdcall OpenAs_RunDLL(long long str long) OpenAs_RunDLLA
@ stdcall OpenAs_RunDLLA(long long str long)
@ stdcall OpenAs_RunDLLW(long long wstr long)
--- snip include/shell32.spec ---

--- snip some_shell32_c_file ---
void WINAPI OpenAs_RunDLLA( HWND hWnd, HINSTANCE hInst, LPCSTR lpszCmdLine, int
nCmdShow)
{
    FIXME("(%p, %p, %s, %d)\n", hWnd, hInst, debugstr_a(lpszCmdLine), nCmdShow);
}

void WINAPI OpenAs_RunDLLW( HWND hWnd, HINSTANCE hInst, LPCWSTR lpszCmdLine, int
nCmdShow)
{
    FIXME("(%p, %p, %s, %d)\n", hWnd, hInst, debugstr_w(lpszCmdLine), nCmdShow);
}
--- snip some_shell32_c_file ---

Quick fix.
Any real implementation "Open as" requires more work like
shell32/dialogs.c/RunFileDlg() with dialog/template, selection of apps, creation
of registry associations, recent documents history, execution etc.
 
Result:

--- snip ---
fixme:exec:SHELL_execute flags ignored: 0x00000500
fixme:shell:OpenAs_RunDLLW (0x30038, 0x602a0000,
L"Z:\\mnt\\privdata\\docs\\blah.pdf", 1)
--- snip ---

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the wine-bugs mailing list