23 #define NONAMELESSUNION 29 #define NO_SHLWAPI_REG 40 DEFINE_GUID(CLSID_CUri, 0xDF2FCE13, 0x25EC, 0x45BB, 0x9D,0x4C, 0xCE,0xCD,0x47,0xC2,0x43,0x0C);
123 if(
data->notif_hwnd) {
124 WARN(
"notif_hwnd not destroyed\n");
178 #define X(x) case x: return #x 179 X(BINDSTATUS_FINDINGRESOURCE);
180 X(BINDSTATUS_CONNECTING);
181 X(BINDSTATUS_REDIRECTING);
182 X(BINDSTATUS_BEGINDOWNLOADDATA);
183 X(BINDSTATUS_DOWNLOADINGDATA);
184 X(BINDSTATUS_ENDDOWNLOADDATA);
185 X(BINDSTATUS_BEGINDOWNLOADCOMPONENTS);
186 X(BINDSTATUS_INSTALLINGCOMPONENTS);
187 X(BINDSTATUS_ENDDOWNLOADCOMPONENTS);
188 X(BINDSTATUS_USINGCACHEDCOPY);
189 X(BINDSTATUS_SENDINGREQUEST);
190 X(BINDSTATUS_CLASSIDAVAILABLE);
191 X(BINDSTATUS_MIMETYPEAVAILABLE);
192 X(BINDSTATUS_CACHEFILENAMEAVAILABLE);
193 X(BINDSTATUS_BEGINSYNCOPERATION);
194 X(BINDSTATUS_ENDSYNCOPERATION);
195 X(BINDSTATUS_BEGINUPLOADDATA);
196 X(BINDSTATUS_UPLOADINGDATA);
197 X(BINDSTATUS_ENDUPLOADINGDATA);
198 X(BINDSTATUS_PROTOCOLCLASSID);
199 X(BINDSTATUS_ENCODING);
200 X(BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE);
201 X(BINDSTATUS_CLASSINSTALLLOCATION);
202 X(BINDSTATUS_DECODING);
203 X(BINDSTATUS_LOADINGMIMEHANDLER);
204 X(BINDSTATUS_CONTENTDISPOSITIONATTACH);
205 X(BINDSTATUS_FILTERREPORTMIMETYPE);
206 X(BINDSTATUS_CLSIDCANINSTANTIATE);
207 X(BINDSTATUS_IUNKNOWNAVAILABLE);
208 X(BINDSTATUS_DIRECTBIND);
209 X(BINDSTATUS_RAWMIMETYPE);
210 X(BINDSTATUS_PROXYDETECTING);
211 X(BINDSTATUS_ACCEPTRANGES);
212 X(BINDSTATUS_COOKIE_SENT);
213 X(BINDSTATUS_COMPACT_POLICY_RECEIVED);
214 X(BINDSTATUS_COOKIE_SUPPRESSED);
215 X(BINDSTATUS_COOKIE_STATE_UNKNOWN);
216 X(BINDSTATUS_COOKIE_STATE_ACCEPT);
217 X(BINDSTATUS_COOKIE_STATE_REJECT);
218 X(BINDSTATUS_COOKIE_STATE_PROMPT);
219 X(BINDSTATUS_COOKIE_STATE_LEASH);
220 X(BINDSTATUS_COOKIE_STATE_DOWNGRADE);
221 X(BINDSTATUS_POLICY_HREF);
222 X(BINDSTATUS_P3P_HEADER);
223 X(BINDSTATUS_SESSION_COOKIE_RECEIVED);
224 X(BINDSTATUS_PERSISTENT_COOKIE_RECEIVED);
225 X(BINDSTATUS_SESSION_COOKIES_ALLOWED);
226 X(BINDSTATUS_CACHECONTROL);
227 X(BINDSTATUS_CONTENTDISPOSITIONFILENAME);
228 X(BINDSTATUS_MIMETEXTPLAINMISMATCH);
229 X(BINDSTATUS_PUBLISHERAVAILABLE);
230 X(BINDSTATUS_DISPLAYNAMEAVAILABLE);
242 FIXME(
"(%s, %s): stub\n", bInstall?
"TRUE":
"FALSE",
277 TRACE(
"(%p)->(IID_IUnknown %p)\n", iface,
ppv);
280 TRACE(
"(%p)->(IID_IClassFactory %p)\n", iface,
ppv);
320 hres =
This->pfnCreateInstance(outer, (
void**)&unk);
328 IUnknown_Release(unk);
337 TRACE(
"(%d)\n", dolock);
463 static const WCHAR wszAdvpack[] = {
'a',
'd',
'v',
'p',
'a',
'c',
'k',
'.',
'd',
'l',
'l',0};
468 return pRegInstall(hProxyDll, doregister ?
"RegisterDll" :
"UnregisterDll",
NULL);
502 FIXME(
"(void): stub\n");
556 dwFileVersionMS, dwFileVersionLS,
debugstr_w(szContentType), pBindCtx, dwClsContext,
pvReserved,
576 TRACE(
"(%p)\n", pbindinfo);
578 if(!pbindinfo || !(
size = pbindinfo->cbSize))
588 IUnknown_Release(pbindinfo->pUnk);
591 pbindinfo->cbSize =
size;
610 if(
src->u.lpszFileName && !
src->pUnkForRelease) {
613 if(!
dst->u.lpszFileName)
620 IStream_AddRef(
dst->u.pstm);
624 IStorage_AddRef(
dst->u.pstg);
629 char *src_ptr, *dst_ptr;
642 FIXME(
"Unimplemented tymed %d\n",
src->tymed);
645 if(
dst->pUnkForRelease)
646 IUnknown_AddRef(
dst->pUnkForRelease);
659 TRACE(
"(%p %p)\n", pcbiSrc, pcbiDest);
661 if(!pcbiSrc || !pcbiDest)
663 if(!pcbiSrc->cbSize || !pcbiDest->cbSize)
666 size = pcbiDest->cbSize;
667 if(
size > pcbiSrc->cbSize) {
668 memcpy(pcbiDest, pcbiSrc, pcbiSrc->cbSize);
669 memset((
char*)pcbiDest+pcbiSrc->cbSize, 0,
size-pcbiSrc->cbSize);
673 pcbiDest->cbSize =
size;
676 if(pcbiSrc->cbSize>=
size && pcbiDest->cbSize>=
size && pcbiSrc->szExtraInfo) {
679 if(!pcbiDest->szExtraInfo)
681 memcpy(pcbiDest->szExtraInfo, pcbiSrc->szExtraInfo,
size);
685 if(pcbiSrc->cbSize>=
size && pcbiDest->cbSize>=
size) {
694 if(pcbiSrc->cbSize>=
size && pcbiDest->cbSize>=
size && pcbiSrc->szCustomVerb) {
697 if(!pcbiDest->szCustomVerb) {
702 memcpy(pcbiDest->szCustomVerb, pcbiSrc->szCustomVerb,
size);
706 if(pcbiDest->cbSize >=
size)
710 IUnknown_AddRef(pcbiDest->pUnk);
724 FIXME(
"(%p, %s, %p, %d, %s, 0x%08x, %p): stub\n", pBC,
debugstr_w(pszFilename),
pBuffer,
743 return pExtract(
dest, szCabName);
790 FIXME(
"stub: %d %d %d %d\n",
unk1, unk2, unk3, unk4);
799 FIXME(
"stub: %d %d %d\n",
unk1, unk2, unk3);
819 FIXME(
"%x: stub\n", unk);
838 FIXME(
"stub: %u %p %p\n",
types, szTypes, cfTypes);
848 FIXME(
"%x: stub\n", unk);
WINE_DEFAULT_DEBUG_CHANNEL(urlmon)
static const WCHAR wszHttp[]
DEFINE_GUID(CLSID_CUri, 0xDF2FCE13, 0x25EC, 0x45BB, 0x9D, 0x4C, 0xCE, 0xCD, 0x47, 0xC2, 0x43, 0x0C)
HRESULT WINAPI DllRegisterServerEx(void)
int WINAPI MapBrowserEmulationModeToUserAgent(DWORD unk1, DWORD unk2)
HRESULT WINAPI URLMON_DllRegisterServer(void) DECLSPEC_HIDDEN
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
static ULONG WINAPI CF_AddRef(IClassFactory *iface)
#define HRESULT_FROM_WIN32(x)
static HRESULT WINAPI CF_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
HRESULT WINAPI FaultInIEFeature(HWND hwnd, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, DWORD flags)
interface IBindCtx * LPBC
HRESULT WINAPI GetIUriPriv(IUri *uri, void **p)
static ClassFactory StdURLMonikerCF
void WINAPI ReleaseStgMedium(STGMEDIUM *pmedium)
int WINAPI MapUriToBrowserEmulationState(DWORD unk1, DWORD unk2, DWORD unk3)
BOOL WINAPI TlsSetValue(IN DWORD Index, IN LPVOID Value)
BOOL WINAPI IsLoggingEnabledW(LPCWSTR url)
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
static CRITICAL_SECTION tls_cs
#define InterlockedCompareExchange
HRESULT FtpProtocol_Construct(IUnknown *outer, void **ppv)
DWORD WINAPI GetLastError(VOID)
static HINTERNET internet_session
BOOL WINAPI InternetCloseHandle(HINTERNET hInternet)
HRESULT WINAPI DllCanUnloadNow(void)
#define DLL_PROCESS_ATTACH
HRESULT ZoneMgrImpl_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
HRESULT WINAPI RegisterMediaTypes(UINT types, LPCSTR *szTypes, CLIPFORMAT *cfTypes)
static ClassFactory GopherProtocolCF
static const struct object_creation_info object_creation[]
HRESULT WINAPI CoInternetGetBrowserProfile(DWORD unk)
static struct list tls_list
BOOL WINAPI ShouldShowIntranetWarningSecband(DWORD unk)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
static const IClassFactoryVtbl ClassFactoryVtbl
static const WCHAR wszHttps[]
BOOL WINAPI DestroyWindow(_In_ HWND)
#define CLASS_E_CLASSNOTAVAILABLE
#define DLL_THREAD_DETACH
HRESULT register_namespace(IClassFactory *cf, REFIID clsid, LPCWSTR protocol, BOOL urlmon_protocol)
HRESULT MimeFilter_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
BOOL WINAPI IsProtectedModeURL(const WCHAR *url)
__WINE_SERVER_LIST_INLINE struct list * list_head(const struct list *list)
const char * wine_dbg_sprintf(const char *format,...)
static CRITICAL_SECTION_DEBUG tls_cs_dbg
SIZE_T NTAPI GlobalSize(HGLOBAL hMem)
__WINE_SERVER_LIST_INLINE void list_add_tail(struct list *list, struct list *elem)
static HRESULT register_inf(BOOL doregister)
static void process_detach(void)
static const WCHAR wszGopher[]
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
static const WCHAR wszFile[]
static const WCHAR wszMk[]
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
interface IBindCtx * LPBINDCTX
#define offsetof(TYPE, MEMBER)
BOOL WINAPI URLMON_DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) DECLSPEC_HIDDEN
HRESULT WINAPI URLMON_DllUnregisterServer(void) DECLSPEC_HIDDEN
HRESULT WINAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved)
HRESULT WINAPI DllInstall(BOOL bInstall, LPCWSTR cmdline)
PFLT_MESSAGE_WAITER_QUEUE CONTAINING_RECORD(Csq, DEVICE_EXTENSION, IrpQueue)) -> WaiterQ.mLock) _IRQL_raises_(DISPATCH_LEVEL) VOID NTAPI FltpAcquireMessageWaiterLock(_In_ PIO_CSQ Csq, _Out_ PKIRQL Irql)
#define DLL_PROCESS_DETACH
static void URLMON_UnlockModule(void)
HRESULT WINAPI GetClassFileOrMime(LPBC pBC, LPCWSTR pszFilename, LPVOID pBuffer, DWORD cbBuffer, LPCWSTR pszMimeType, DWORD dwReserved, CLSID *pclsid)
__WINE_SERVER_LIST_INLINE void list_remove(struct list *elem)
static ClassFactory CUriCF
HRESULT WINAPI CopyBindInfo(const BINDINFO *pcbiSrc, BINDINFO *pcbiDest)
HRESULT WINAPI CopyStgMedium(const STGMEDIUM *src, STGMEDIUM *dst)
HRESULT WINAPI DllRegisterServer(void)
BOOL WINAPI TlsFree(IN DWORD Index)
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
HINSTANCE urlmon_instance
static ClassFactory HttpSProtocolCF
static LPCSTR DWORD void * pvReserved
HRESULT WINAPI DllUnregisterServer(void)
const char * debugstr_bindstatus(ULONG status)
static HRESULT WINAPI CF_LockServer(LPCLASSFACTORY iface, BOOL dolock)
static ClassFactory HttpProtocolCF
HRESULT WINAPI URLMON_DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv) DECLSPEC_HIDDEN
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
HRESULT StdURLMoniker_Construct(IUnknown *outer, void **ppv)
int WINAPI LogSqmBits(DWORD unk1, DWORD unk2)
static ClassFactory FtpProtocolCF
LPVOID NTAPI GlobalLock(HGLOBAL hMem)
static ClassFactory SecurityManagerCF
HRESULT GopherProtocol_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
#define memcpy(s1, s2, n)
HRESULT MkProtocol_Construct(IUnknown *outer, void **ppv)
DWORD WINAPI TlsAlloc(VOID)
#define TLS_OUT_OF_INDEXES
void WINAPI LogSqmUXCommandOffsetInternal(DWORD unk1, DWORD unk2, DWORD unk3, DWORD unk4)
static ClassFactory MkProtocolCF
#define CLASS_E_NOAGGREGATION
LIST_ENTRY ProcessLocksList
HINTERNET get_internet_session(IInternetBindInfo *bind_info)
static void init_session(void)
HRESULT HttpSProtocol_Construct(IUnknown *outer, void **ppv)
__WINE_SERVER_LIST_INLINE int list_empty(const struct list *list)
static ClassFactory * impl_from_IClassFactory(IClassFactory *iface)
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
static void detach_thread(void)
static ULONG WINAPI CF_Release(IClassFactory *iface)
static void free_tls_list(void)
void unregister_notif_wnd_class(void)
#define FIELD_OFFSET(t, f)
HRESULT WINAPI CoGetClassObjectFromURL(REFCLSID rclsid, LPCWSTR szCodeURL, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szContentType, LPBINDCTX pBindCtx, DWORD dwClsContext, LPVOID pvReserved, REFIID riid, LPVOID *ppv)
static HRESULT WINAPI CF_QueryInterface(IClassFactory *iface, REFIID riid, LPVOID *ppv)
BOOL WINAPI IsEqualGUID(REFGUID rguid1, REFGUID rguid2)
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
static ClassFactory ZoneManagerCF
HRESULT FileProtocol_Construct(IUnknown *outer, LPVOID *ppobj)
LPVOID WINAPI TlsGetValue(IN DWORD Index)
struct tagClassFactory ClassFactory
HRESULT SecManagerImpl_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
#define GetProcAddress(x, y)
HRESULT HttpProtocol_Construct(IUnknown *outer, void **ppv)
HRESULT Uri_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
static void URLMON_LockModule(void)
tls_data_t * get_tls_data(void)
HRESULT WINAPI Extract(void *dest, LPCSTR szCabName)
static ClassFactory FileProtocolCF
const GUID IID_IClassFactory
static ClassFactory MimeFilterCF
IClassFactory IClassFactory_iface
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
BOOL WINAPI IsLoggingEnabledA(LPCSTR url)
void WINAPI FlushUrlmonZonesCache(void)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
static const WCHAR wszFtp[]
static BOOL heap_free(void *mem)