1 /* 2 * Copyright 2006 Alexandre Julliard 3 * 4 * This library is free software; you can redistribute it and/or 5 * modify it under the terms of the GNU Lesser General Public 6 * License as published by the Free Software Foundation; either 7 * version 2.1 of the License, or (at your option) any later version. 8 * 9 * This library is distributed in the hope that it will be useful, 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 * Lesser General Public License for more details. 13 * 14 * You should have received a copy of the GNU Lesser General Public 15 * License along with this library; if not, write to the Free Software 16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 17 */ 18 19 #include <stdarg.h> 20 #include "windef.h" 21 #include "winbase.h" 22 #include "winreg.h" 23 #include "winerror.h" 24 #include "shellapi.h" 25 #include "shlwapi.h" 26 #include "intshcut.h" 27 #include "winuser.h" 28 #include "commctrl.h" 29 #include "prsht.h" 30 #include "wine/debug.h" 31 32 WINE_DEFAULT_DEBUG_CHANNEL(url); 33 34 /*********************************************************************** 35 * DllMain (URL.@) 36 */ 37 BOOL WINAPI DllMain( HINSTANCE inst, DWORD reason, LPVOID reserved ) 38 { 39 switch(reason) 40 { 41 case DLL_WINE_PREATTACH: 42 return FALSE; /* prefer native version */ 43 case DLL_PROCESS_ATTACH: 44 DisableThreadLibraryCalls( inst ); 45 break; 46 } 47 return TRUE; 48 } 49 50 /*********************************************************************** 51 * AddMIMEFileTypesPS (URL.@) 52 * 53 * Build and Manage a Filetype-Association Property Sheet 54 * 55 * PARAMS 56 * unknown1 [I] Pointer to an Read-Only Area 57 * lppsh [I] PTR to the target PropertySheetHeader (ANSI) 58 * 59 * RETURNS 60 * Success: 0 61 * 62 */ 63 DWORD WINAPI AddMIMEFileTypesPS(VOID * unknown1, LPPROPSHEETHEADERA lppsh) 64 { 65 FIXME("(%p, %p): stub!\n", unknown1, lppsh); 66 return 0; 67 } 68 69 /*********************************************************************** 70 * InetIsOffline (URL.@) 71 * 72 */ 73 BOOL WINAPI InetIsOffline(DWORD flags) 74 { 75 FIXME("(%08x): stub!\n", flags); 76 77 return FALSE; 78 } 79 80 /*********************************************************************** 81 * FileProtocolHandlerA (URL.@) 82 * 83 * Handles a URL given to it and executes it. 84 * 85 * HWND hWnd - Parent Window 86 * HINSTANCE hInst - ignored 87 * LPCSTR pszUrl - The URL that needs to be handled 88 * int nShowCmd - How to display the operation. 89 */ 90 91 void WINAPI FileProtocolHandlerA(HWND hWnd, HINSTANCE hInst, LPCSTR pszUrl, int nShowCmd) 92 { 93 CHAR pszPath[MAX_PATH]; 94 DWORD size = MAX_PATH; 95 HRESULT createpath = PathCreateFromUrlA(pszUrl,pszPath,&size,0); 96 97 TRACE("(%p, %s, %d)\n",hWnd,debugstr_a(pszUrl),nShowCmd); 98 99 ShellExecuteA(hWnd, NULL, createpath==S_OK ? pszPath : pszUrl, NULL, NULL, nShowCmd); 100 } 101 102 /*********************************************************************** 103 * OpenURLA (URL.@) 104 * 105 */ 106 void WINAPI OpenURLA(HWND hwnd, HINSTANCE inst, LPCSTR cmdline, INT show) 107 { 108 FIXME("(%p, %p, %s, %d): stub!\n", hwnd, inst, debugstr_a(cmdline), show); 109 } 110 111 /*********************************************************************** 112 * TelnetProtocolHandlerA (URL.@) 113 * 114 */ 115 116 HRESULT WINAPI TelnetProtocolHandlerA(HWND hWnd, LPSTR lpStr) 117 { 118 FIXME("(%p, %p): stub!\n",hWnd,lpStr); 119 120 return E_NOTIMPL; 121 } 122