wintrust: Use path in WIN_TRUST_SUBJECT_FILE structure rather than assuming a path...
[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 }
143
144 /***********************************************************************
145  *          WinHttpConnect (winhttp.@)
146  */
147
148 HINTERNET WINAPI WinHttpConnect (HINTERNET hSession, LPCWSTR pwszServerName,
149                                  INTERNET_PORT nServerPort, DWORD dwReserved)
150 {
151     FIXME("(%s, %d, 0x%x): stub\n", debugstr_w(pwszServerName), nServerPort, dwReserved);
152
153     SetLastError(ERROR_NOT_SUPPORTED);
154     return NULL;
155 }
156
157 /***********************************************************************
158  *          WinHttpOpenRequest (winhttp.@)
159  */
160 HINTERNET WINAPI WinHttpOpenRequest (HINTERNET hConnect, LPCWSTR pwszVerb, LPCWSTR pwszObjectName,
161                                      LPCWSTR pwszVersion, LPCWSTR pwszReferrer, LPCWSTR* ppwszAcceptTypes,
162                                      DWORD dwFlags)
163 {
164     FIXME("(%s, %s, %s, %s, 0x%x): stub\n", debugstr_w(pwszVerb), debugstr_w(pwszObjectName),
165           debugstr_w(pwszVersion), debugstr_w(pwszReferrer), dwFlags);
166
167     SetLastError(ERROR_NOT_SUPPORTED);
168     return NULL;
169 }
170
171 /***********************************************************************
172  *          WinHttpSendRequest (winhttp.@)
173  */
174 BOOL WINAPI WinHttpSendRequest (HINTERNET hRequest, LPCWSTR pwszHeaders, DWORD dwHeadersLength,
175                                 LPVOID lpOptional, DWORD dwOptionalLength, DWORD dwTotalLength,
176                                 DWORD_PTR dwContext)
177 {
178     FIXME("(%s, %d, %d, %d): stub\n", debugstr_w(pwszHeaders), dwHeadersLength, dwOptionalLength, dwTotalLength);
179
180     SetLastError(ERROR_NOT_SUPPORTED);
181     return FALSE;
182 }
183
184 /***********************************************************************
185  *          WinHttpQueryOption (winhttp.@)
186  */
187 BOOL WINAPI WinHttpQueryOption (HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, LPDWORD lpdwBufferLength)
188 {
189     FIXME("(%d): stub\n", dwOption);
190
191     SetLastError(ERROR_NOT_SUPPORTED);
192     return FALSE;
193 }
194
195 /***********************************************************************
196  *          WinHttpQueryDataAvailable (winhttp.@)
197  */
198 BOOL WINAPI WinHttpQueryDataAvailable (HINTERNET hInternet, LPDWORD lpdwNumberOfBytesAvailable)
199 {
200     FIXME("stub\n");
201
202     SetLastError(ERROR_NOT_SUPPORTED);
203     return FALSE;
204 }
205
206 /***********************************************************************
207  *          WinHttpReceiveResponse (winhttp.@)
208  */
209 BOOL WINAPI WinHttpReceiveResponse (HINTERNET hRequest, LPVOID lpReserved)
210 {
211     FIXME("stub\n");
212
213     SetLastError(ERROR_NOT_SUPPORTED);
214     return FALSE;
215 }
216
217 /***********************************************************************
218  *          WinHttpSetOption (winhttp.@)
219  */
220 BOOL WINAPI WinHttpSetOption (HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, DWORD dwBufferLength)
221 {
222     FIXME("stub\n");
223
224     SetLastError(ERROR_NOT_SUPPORTED);
225     return FALSE;
226 }
227
228 /***********************************************************************
229  *          WinHttpReadData (winhttp.@)
230  */
231 BOOL WINAPI WinHttpReadData (HINTERNET hInternet, LPVOID lpBuffer, DWORD dwNumberOfBytesToRead,
232                              LPDWORD lpdwNumberOfBytesRead)
233 {
234     FIXME("(%d): stub\n", dwNumberOfBytesToRead);
235
236     SetLastError(ERROR_NOT_SUPPORTED);
237     return FALSE;
238 }
239
240 /***********************************************************************
241  *          WinHttpReadData (winhttp.@)
242  */
243 BOOL WINAPI WinHttpCloseHandle (HINTERNET hInternet)
244 {
245     FIXME("stub\n");
246
247     SetLastError(ERROR_NOT_SUPPORTED);
248     return FALSE;
249 }