Index: dll/win32/mpr/wnet.c =================================================================== --- dll/win32/mpr/wnet.c (revision 75423) +++ dll/win32/mpr/wnet.c (working copy) @@ -2710,10 +2710,17 @@ */ DWORD WINAPI WNetDisconnectDialog( HWND hwnd, DWORD dwType ) { - FIXME( "(%p, %08X): stub\n", hwnd, dwType ); + DISCDLGSTRUCTW disconn_dlg; + NETRESOURCEW net_res; - SetLastError(WN_NO_NETWORK); - return WN_NO_NETWORK; + ZeroMemory(&disconn_dlg, sizeof(disconn_dlg)); + ZeroMemory(&net_res, sizeof(net_res)); + + disconn_dlg.cbStructure = sizeof(disconn_dlg); + disconn_dlg.hwndOwner = hwnd; + net_res.dwType = dwType; + + return WNetDisconnectDialog1W(&disconn_dlg); } /********************************************************************* @@ -2732,10 +2739,11 @@ */ DWORD WINAPI WNetDisconnectDialog1W( LPDISCDLGSTRUCTW lpConnDlgStruct ) { - FIXME( "(%p): stub\n", lpConnDlgStruct ); - - SetLastError(WN_NO_NETWORK); - return WN_NO_NETWORK; + HRESULT (WINAPI *pSHDisconnectNetDrives)(PVOID); + + HMODULE dll = LoadLibraryA("netplwiz.dll"); + pSHDisconnectNetDrives = (void *)GetProcAddress(dll, "SHDisconnectNetDrives"); + return pSHDisconnectNetDrives(NULL); } /*********************************************************************