secur32: Fix crash under win98.
[wine] / dlls / winhttp / main.c
1 /*
2  * Copyright 2007 Jacek Caban for CodeWeavers
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 "config.h"
20
21 #include <stdarg.h>
22
23 #include "windef.h"
24 #include "winbase.h"
25 #include "objbase.h"
26 #include "winhttp.h"
27
28 #include "wine/debug.h"
29
30 WINE_DEFAULT_DEBUG_CHANNEL(winhttp);
31
32 /******************************************************************
33  *              DllMain (winhttp.@)
34  */
35 BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
36 {
37     switch(fdwReason)
38     {
39     case DLL_WINE_PREATTACH:
40         return FALSE;  /* prefer native version */
41     case DLL_PROCESS_ATTACH:
42         DisableThreadLibraryCalls(hInstDLL);
43         break;
44     case DLL_PROCESS_DETACH:
45         break;
46     }
47     return TRUE;
48 }
49
50 /******************************************************************
51  *              DllGetClassObject (winhttp.@)
52  */
53 HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
54 {
55     FIXME("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
56     return CLASS_E_CLASSNOTAVAILABLE;
57 }
58
59 /******************************************************************
60  *              DllCanUnloadNow (winhttp.@)
61  */
62 HRESULT WINAPI DllCanUnloadNow(void)
63 {
64     FIXME("()\n");
65     return S_FALSE;
66 }
67
68 /***********************************************************************
69  *          DllRegisterServer (winhttp.@)
70  */
71 HRESULT WINAPI DllRegisterServer(void)
72 {
73     FIXME("()\n");
74     return S_OK;
75 }
76
77 /***********************************************************************
78  *          DllUnregisterServer (winhttp.@)
79  */
80 HRESULT WINAPI DllUnregisterServer(void)
81 {
82     FIXME("()\n");
83     return S_OK;
84 }
85
86 /***********************************************************************
87  *          WinHttpCheckPlatform (winhttp.@)
88  */
89 BOOL WINAPI WinHttpCheckPlatform(void)
90 {
91     FIXME("stub\n");
92     SetLastError(ERROR_NOT_SUPPORTED);
93     return FALSE;
94 }
95
96 /***********************************************************************
97  *          WinHttpDetectAutoProxyConfigUrl (winhttp.@)
98  */
99 BOOL WINAPI WinHttpDetectAutoProxyConfigUrl(DWORD flags, LPWSTR *url)
100 {
101     FIXME("(%x %p)\n", flags, url);
102
103     SetLastError(ERROR_WINHTTP_AUTODETECTION_FAILED);
104     return FALSE;
105 }
106
107 /***********************************************************************
108  *          WinHttpGetIEProxyConfigForCurrentUser (winhttp.@)
109  */
110 BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG* config)
111 {
112     if(!config)
113     {
114         SetLastError(ERROR_INVALID_PARAMETER);
115         return FALSE;
116     }
117
118     /* TODO: read from HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings */
119     FIXME("returning no proxy used\n");
120     config->fAutoDetect = FALSE;
121     config->lpszAutoConfigUrl = NULL;
122     config->lpszProxy = NULL;
123     config->lpszProxyBypass = NULL;
124
125     SetLastError(ERROR_SUCCESS);
126     return TRUE;
127 }
128
129 /***********************************************************************
130  *          WinHttpOpen (winhttp.@)
131  */
132 HINTERNET WINAPI WinHttpOpen(LPCWSTR pwszUserAgent, DWORD dwAccessType,
133                              LPCWSTR pwszProxyName, LPCWSTR pwszProxyByPass,
134                              DWORD dwFlags)
135 {
136     FIXME("(%s, %d, %s, %s, 0x%x): stub\n", debugstr_w(pwszUserAgent),
137         dwAccessType, debugstr_w(pwszProxyName), debugstr_w(pwszProxyByPass),
138         dwFlags);
139
140     SetLastError(ERROR_NOT_SUPPORTED);
141     return NULL;
142 }