23#define NONAMELESSUNION
40DEFINE_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);
static BOOL heap_free(void *mem)
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
static void list_remove(struct list_entry *entry)
static int list_empty(struct list_entry *head)
static void list_add_tail(struct list_entry *head, struct list_entry *entry)
const GUID IID_IClassFactory
void unregister_notif_wnd_class(void)
const char * wine_dbg_sprintf(const char *format,...)
#define DLL_THREAD_DETACH
#define DLL_PROCESS_ATTACH
#define DLL_PROCESS_DETACH
struct _SECURITY_ATTRIBUTES SECURITY_ATTRIBUTES
#define GetProcAddress(x, y)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
LPVOID WINAPI TlsGetValue(IN DWORD Index)
DWORD WINAPI TlsAlloc(VOID)
BOOL WINAPI TlsSetValue(IN DWORD Index, IN LPVOID Value)
BOOL WINAPI TlsFree(IN DWORD Index)
void WINAPI ReleaseStgMedium(STGMEDIUM *pmedium)
HRESULT FileProtocol_Construct(IUnknown *outer, LPVOID *ppobj)
HRESULT FtpProtocol_Construct(IUnknown *outer, void **ppv)
HRESULT HttpProtocol_Construct(IUnknown *outer, void **ppv)
HRESULT HttpSProtocol_Construct(IUnknown *outer, void **ppv)
HINTERNET get_internet_session(IInternetBindInfo *bind_info)
static HINTERNET internet_session
HRESULT ZoneMgrImpl_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
HRESULT SecManagerImpl_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
HRESULT register_namespace(IClassFactory *cf, REFIID clsid, LPCWSTR protocol, BOOL urlmon_protocol)
HRESULT Uri_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
BOOL WINAPI InternetCloseHandle(HINTERNET hInternet)
static void *static void *static LPDIRECTPLAY IUnknown * pUnk
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
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
LPVOID NTAPI GlobalLock(HGLOBAL hMem)
BOOL NTAPI GlobalUnlock(HGLOBAL hMem)
HGLOBAL NTAPI GlobalAlloc(UINT uFlags, SIZE_T dwBytes)
SIZE_T NTAPI GlobalSize(HGLOBAL hMem)
VOID WINAPI CoTaskMemFree(LPVOID ptr)
LPVOID WINAPI CoTaskMemAlloc(SIZE_T size)
#define InterlockedCompareExchange
HRESULT MimeFilter_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
HRESULT MkProtocol_Construct(IUnknown *outer, void **ppv)
#define memcpy(s1, s2, n)
static LPCSTR DWORD void * pvReserved
_In_ HANDLE _In_ DWORD _In_ DWORD _Inout_opt_ LPOVERLAPPED _In_opt_ LPTRANSMIT_FILE_BUFFERS _In_ DWORD dwReserved
interface IBindCtx * LPBINDCTX
interface IBindCtx * LPBC
#define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8)
#define IsEqualGUID(rguid1, rguid2)
#define offsetof(TYPE, MEMBER)
IClassFactory IClassFactory_iface
LIST_ENTRY ProcessLocksList
#define FIELD_OFFSET(t, f)
#define CONTAINING_RECORD(address, type, field)
HRESULT StdURLMoniker_Construct(IUnknown *outer, void **ppv)
HRESULT GopherProtocol_Construct(IUnknown *pUnkOuter, LPVOID *ppobj)
static ClassFactory HttpProtocolCF
static ClassFactory MkProtocolCF
static ClassFactory * impl_from_IClassFactory(IClassFactory *iface)
static ClassFactory StdURLMonikerCF
HRESULT WINAPI CoInternetGetBrowserProfile(DWORD unk)
int WINAPI LogSqmBits(DWORD unk1, DWORD unk2)
static const struct object_creation_info object_creation[]
HRESULT WINAPI DllRegisterServer(void)
BOOL WINAPI ShouldShowIntranetWarningSecband(DWORD unk)
static const WCHAR wszHttps[]
void WINAPI FlushUrlmonZonesCache(void)
static const IClassFactoryVtbl ClassFactoryVtbl
static HRESULT WINAPI CF_CreateInstance(IClassFactory *iface, IUnknown *outer, REFIID riid, void **ppv)
HRESULT WINAPI CopyStgMedium(const STGMEDIUM *src, STGMEDIUM *dst)
static ULONG WINAPI CF_Release(IClassFactory *iface)
tls_data_t * get_tls_data(void)
static HRESULT register_inf(BOOL doregister)
BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
static ClassFactory FileProtocolCF
static ClassFactory CUriCF
static HRESULT WINAPI CF_QueryInterface(IClassFactory *iface, REFIID riid, LPVOID *ppv)
static struct list tls_list
void WINAPI ReleaseBindInfo(BINDINFO *pbindinfo)
HRESULT WINAPI DllRegisterServerEx(void)
HRESULT WINAPI CopyBindInfo(const BINDINFO *pcbiSrc, BINDINFO *pcbiDest)
static HRESULT WINAPI CF_LockServer(LPCLASSFACTORY iface, BOOL dolock)
static void free_tls_list(void)
HRESULT WINAPI DllUnregisterServer(void)
static void init_session(void)
HRESULT WINAPI DllInstall(BOOL bInstall, LPCWSTR cmdline)
static ClassFactory MimeFilterCF
int WINAPI MapBrowserEmulationModeToUserAgent(DWORD unk1, DWORD unk2)
static ClassFactory ZoneManagerCF
BOOL WINAPI IsLoggingEnabledW(LPCWSTR url)
HRESULT WINAPI FaultInIEFeature(HWND hwnd, uCLSSPEC *pClassSpec, QUERYCONTEXT *pQuery, DWORD flags)
static ClassFactory SecurityManagerCF
HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
static ClassFactory HttpSProtocolCF
static const WCHAR wszFtp[]
HRESULT WINAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved)
static CRITICAL_SECTION tls_cs
HRESULT WINAPI RegisterMediaTypes(UINT types, LPCSTR *szTypes, CLIPFORMAT *cfTypes)
HRESULT WINAPI GetClassFileOrMime(LPBC pBC, LPCWSTR pszFilename, LPVOID pBuffer, DWORD cbBuffer, LPCWSTR pszMimeType, DWORD dwReserved, CLSID *pclsid)
static void detach_thread(void)
static const WCHAR wszMk[]
static const WCHAR wszFile[]
int WINAPI MapUriToBrowserEmulationState(DWORD unk1, DWORD unk2, DWORD unk3)
static const WCHAR wszHttp[]
static ClassFactory GopherProtocolCF
HRESULT WINAPI Extract(void *dest, LPCSTR szCabName)
HINSTANCE urlmon_instance
static void process_detach(void)
HRESULT WINAPI CoGetClassObjectFromURL(REFCLSID rclsid, LPCWSTR szCodeURL, DWORD dwFileVersionMS, DWORD dwFileVersionLS, LPCWSTR szContentType, LPBINDCTX pBindCtx, DWORD dwClsContext, LPVOID pvReserved, REFIID riid, LPVOID *ppv)
BOOL WINAPI IsProtectedModeURL(const WCHAR *url)
static ClassFactory FtpProtocolCF
BOOL WINAPI IsLoggingEnabledA(LPCSTR url)
void WINAPI LogSqmUXCommandOffsetInternal(DWORD unk1, DWORD unk2, DWORD unk3, DWORD unk4)
HRESULT WINAPI DllCanUnloadNow(void)
static CRITICAL_SECTION_DEBUG tls_cs_dbg
HRESULT WINAPI GetIUriPriv(IUri *uri, void **p)
static const WCHAR wszGopher[]
static ULONG WINAPI CF_AddRef(IClassFactory *iface)
const char * debugstr_bindstatus(ULONG status)
static void URLMON_LockModule(void)
HRESULT WINAPI URLMON_DllUnregisterServer(void) DECLSPEC_HIDDEN
static void URLMON_UnlockModule(void)
HRESULT WINAPI URLMON_DllGetClassObject(REFCLSID rclsid, REFIID iid, LPVOID *ppv) DECLSPEC_HIDDEN
BOOL WINAPI URLMON_DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) DECLSPEC_HIDDEN
HRESULT WINAPI URLMON_DllRegisterServer(void) DECLSPEC_HIDDEN
DWORD WINAPI GetLastError(void)
void WINAPI LeaveCriticalSection(LPCRITICAL_SECTION)
void WINAPI EnterCriticalSection(LPCRITICAL_SECTION)
#define TLS_OUT_OF_INDEXES
void WINAPI DeleteCriticalSection(PCRITICAL_SECTION)
#define CLASS_E_NOAGGREGATION
#define HRESULT_FROM_WIN32(x)
#define CLASS_E_CLASSNOTAVAILABLE
BOOL WINAPI DestroyWindow(_In_ HWND)