winhttp: Implement WinHttpOpenRequest.
[wine/multimedia.git] / dlls / winhttp / main.c
blob44a1e42866491d5ec7abed73d40a84abd48db5cd
1 /*
2 * Copyright 2007 Jacek Caban for CodeWeavers
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.
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.
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
19 #include "config.h"
21 #include <stdarg.h>
23 #include "windef.h"
24 #include "winbase.h"
25 #include "objbase.h"
26 #include "winhttp.h"
28 #include "wine/debug.h"
30 WINE_DEFAULT_DEBUG_CHANNEL(winhttp);
32 /******************************************************************
33 * DllMain (winhttp.@)
35 BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
37 switch(fdwReason)
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;
47 return TRUE;
50 /******************************************************************
51 * DllGetClassObject (winhttp.@)
53 HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
55 FIXME("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
56 return CLASS_E_CLASSNOTAVAILABLE;
59 /******************************************************************
60 * DllCanUnloadNow (winhttp.@)
62 HRESULT WINAPI DllCanUnloadNow(void)
64 FIXME("()\n");
65 return S_FALSE;
68 /***********************************************************************
69 * DllRegisterServer (winhttp.@)
71 HRESULT WINAPI DllRegisterServer(void)
73 FIXME("()\n");
74 return S_OK;
77 /***********************************************************************
78 * DllUnregisterServer (winhttp.@)
80 HRESULT WINAPI DllUnregisterServer(void)
82 FIXME("()\n");
83 return S_OK;
86 /***********************************************************************
87 * WinHttpDetectAutoProxyConfigUrl (winhttp.@)
89 BOOL WINAPI WinHttpDetectAutoProxyConfigUrl(DWORD flags, LPWSTR *url)
91 FIXME("(%x %p)\n", flags, url);
93 SetLastError(ERROR_WINHTTP_AUTODETECTION_FAILED);
94 return FALSE;
97 /***********************************************************************
98 * WinHttpGetIEProxyConfigForCurrentUser (winhttp.@)
100 BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG* config)
102 if(!config)
104 SetLastError(ERROR_INVALID_PARAMETER);
105 return FALSE;
108 /* TODO: read from HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings */
109 FIXME("returning no proxy used\n");
110 config->fAutoDetect = FALSE;
111 config->lpszAutoConfigUrl = NULL;
112 config->lpszProxy = NULL;
113 config->lpszProxyBypass = NULL;
115 SetLastError(ERROR_SUCCESS);
116 return TRUE;
119 /***********************************************************************
120 * WinHttpSendRequest (winhttp.@)
122 BOOL WINAPI WinHttpSendRequest (HINTERNET hRequest, LPCWSTR pwszHeaders, DWORD dwHeadersLength,
123 LPVOID lpOptional, DWORD dwOptionalLength, DWORD dwTotalLength,
124 DWORD_PTR dwContext)
126 FIXME("(%s, %d, %d, %d): stub\n", debugstr_w(pwszHeaders), dwHeadersLength, dwOptionalLength, dwTotalLength);
128 SetLastError(ERROR_NOT_SUPPORTED);
129 return FALSE;
132 /***********************************************************************
133 * WinHttpQueryOption (winhttp.@)
135 BOOL WINAPI WinHttpQueryOption (HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, LPDWORD lpdwBufferLength)
137 FIXME("(%d): stub\n", dwOption);
139 SetLastError(ERROR_NOT_SUPPORTED);
140 return FALSE;
143 /***********************************************************************
144 * WinHttpQueryDataAvailable (winhttp.@)
146 BOOL WINAPI WinHttpQueryDataAvailable (HINTERNET hInternet, LPDWORD lpdwNumberOfBytesAvailable)
148 FIXME("stub\n");
150 SetLastError(ERROR_NOT_SUPPORTED);
151 return FALSE;
154 /***********************************************************************
155 * WinHttpReceiveResponse (winhttp.@)
157 BOOL WINAPI WinHttpReceiveResponse (HINTERNET hRequest, LPVOID lpReserved)
159 FIXME("stub\n");
161 SetLastError(ERROR_NOT_SUPPORTED);
162 return FALSE;
165 /***********************************************************************
166 * WinHttpSetOption (winhttp.@)
168 BOOL WINAPI WinHttpSetOption (HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, DWORD dwBufferLength)
170 FIXME("stub\n");
172 SetLastError(ERROR_NOT_SUPPORTED);
173 return FALSE;
176 /***********************************************************************
177 * WinHttpReadData (winhttp.@)
179 BOOL WINAPI WinHttpReadData (HINTERNET hInternet, LPVOID lpBuffer, DWORD dwNumberOfBytesToRead,
180 LPDWORD lpdwNumberOfBytesRead)
182 FIXME("(%d): stub\n", dwNumberOfBytesToRead);
184 SetLastError(ERROR_NOT_SUPPORTED);
185 return FALSE;
188 /***********************************************************************
189 * WinHttpWriteData (winhttp.@)
191 BOOL WINAPI WinHttpWriteData (HINTERNET hRequest, LPCVOID lpBuffer,
192 DWORD dwNumberOfBytesToWrite, LPDWORD lpdwNumberOfBytesWritten)
194 FIXME("(%p, %d, %p): stub\n", lpBuffer, dwNumberOfBytesToWrite, lpdwNumberOfBytesWritten);
196 SetLastError(ERROR_NOT_SUPPORTED);
197 return FALSE;
200 /***********************************************************************
201 * WinHttpTimeFromSystemTime (winhttp.@)
203 BOOL WINAPI WinHttpTimeFromSystemTime (CONST SYSTEMTIME* pst, LPWSTR pwszTime)
205 FIXME("(%p, %p): stub\n", pst, pwszTime);
207 SetLastError(ERROR_NOT_SUPPORTED);
208 return FALSE;
211 /***********************************************************************
212 * WinHttpTimeToSystemTime (winhttp.@)
214 BOOL WINAPI WinHttpTimeToSystemTime (LPCWSTR pwszTime, SYSTEMTIME* pst)
216 FIXME("(%s, %p): stub\n", debugstr_w(pwszTime), pst);
218 SetLastError(ERROR_NOT_SUPPORTED);
219 return FALSE;
222 /***********************************************************************
223 * WinHttpQueryHeaders (winhttp.@)
225 BOOL WINAPI WinHttpQueryHeaders (HINTERNET hRequest, DWORD dwInfoLevel, LPCWSTR pwszName,
226 LPVOID lpBuffer, LPDWORD lpdwBufferLength, LPDWORD lpdwIndex)
228 FIXME("(%d): stub\n", dwInfoLevel);
230 SetLastError(ERROR_NOT_SUPPORTED);
231 return FALSE;
234 /***********************************************************************
235 * WinHttpAddRequestHeaders (winhttp.@)
237 BOOL WINAPI WinHttpAddRequestHeaders (HINTERNET hRequest, LPCWSTR pwszHeaders,
238 DWORD dwHeadersLength, DWORD dwModifiers)
240 FIXME("(%s, %d, %d): stub\n", debugstr_w(pwszHeaders), dwHeadersLength, dwModifiers);
242 SetLastError(ERROR_NOT_SUPPORTED);
243 return FALSE;