Jacek Caban : urlmon: Added better debug traces for BINDSTATUS values.
Alexandre Julliard
julliard at winehq.org
Mon Sep 3 13:19:12 CDT 2012
Module: wine
Branch: master
Commit: 3636a2527946e0a85d288ffbe0950092e2f6ba07
URL: http://source.winehq.org/git/wine.git/?a=commit;h=3636a2527946e0a85d288ffbe0950092e2f6ba07
Author: Jacek Caban <jacek at codeweavers.com>
Date: Mon Sep 3 13:58:18 2012 +0200
urlmon: Added better debug traces for BINDSTATUS values.
---
dlls/urlmon/bindctx.c | 2 +-
dlls/urlmon/binding.c | 3 +-
dlls/urlmon/bindprot.c | 2 +-
dlls/urlmon/urlmon_main.c | 61 +++++++++++++++++++++++++++++++++++++++++++++
dlls/urlmon/urlmon_main.h | 2 +
5 files changed, 67 insertions(+), 3 deletions(-)
diff --git a/dlls/urlmon/bindctx.c b/dlls/urlmon/bindctx.c
index 9ddf96a..79260ef 100644
--- a/dlls/urlmon/bindctx.c
+++ b/dlls/urlmon/bindctx.c
@@ -158,7 +158,7 @@ static HRESULT WINAPI BindStatusCallback_OnProgress(IBindStatusCallbackEx *iface
{
BindStatusCallback *This = impl_from_IBindStatusCallbackEx(iface);
- TRACE("%p)->(%u %u %u %s)\n", This, ulProgress, ulProgressMax, ulStatusCode,
+ TRACE("%p)->(%u %u %s %s)\n", This, ulProgress, ulProgressMax, debugstr_bindstatus(ulStatusCode),
debugstr_w(szStatusText));
return IBindStatusCallback_OnProgress(This->callback, ulProgress,
diff --git a/dlls/urlmon/binding.c b/dlls/urlmon/binding.c
index 4988cea..3cb49f1 100644
--- a/dlls/urlmon/binding.c
+++ b/dlls/urlmon/binding.c
@@ -980,7 +980,7 @@ static HRESULT WINAPI InternetProtocolSink_ReportProgress(IInternetProtocolSink
{
Binding *This = impl_from_IInternetProtocolSink(iface);
- TRACE("(%p)->(%u %s)\n", This, ulStatusCode, debugstr_w(szStatusText));
+ TRACE("(%p)->(%s %s)\n", This, debugstr_bindstatus(ulStatusCode), debugstr_w(szStatusText));
switch(ulStatusCode) {
case BINDSTATUS_FINDINGRESOURCE:
@@ -1133,6 +1133,7 @@ static HRESULT WINAPI InternetProtocolSink_ReportResult(IInternetProtocolSink *i
TRACE("(%p)->(%08x %d %s)\n", This, hrResult, dwError, debugstr_w(szResult));
stop_binding(This, hrResult, szResult);
+
IInternetProtocolEx_Terminate(&This->protocol->IInternetProtocolEx_iface, 0);
return S_OK;
}
diff --git a/dlls/urlmon/bindprot.c b/dlls/urlmon/bindprot.c
index 043ff85..603002d 100644
--- a/dlls/urlmon/bindprot.c
+++ b/dlls/urlmon/bindprot.c
@@ -822,7 +822,7 @@ static HRESULT WINAPI ProtocolSinkHandler_ReportProgress(IInternetProtocolSink *
{
BindProtocol *This = impl_from_IInternetProtocolSinkHandler(iface);
- TRACE("(%p)->(%u %s)\n", This, status_code, debugstr_w(status_text));
+ TRACE("(%p)->(%s %s)\n", This, debugstr_bindstatus(status_code), debugstr_w(status_text));
if(!This->protocol_sink)
return S_OK;
diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c
index f2abe13..7fb2090 100644
--- a/dlls/urlmon/urlmon_main.c
+++ b/dlls/urlmon/urlmon_main.c
@@ -166,6 +166,67 @@ BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID fImpLoad)
return TRUE;
}
+const char *debugstr_bindstatus(ULONG status)
+{
+ switch(status) {
+#define X(x) case x: return #x; break
+ X(BINDSTATUS_FINDINGRESOURCE);
+ X(BINDSTATUS_CONNECTING);
+ X(BINDSTATUS_REDIRECTING);
+ X(BINDSTATUS_BEGINDOWNLOADDATA);
+ X(BINDSTATUS_DOWNLOADINGDATA);
+ X(BINDSTATUS_ENDDOWNLOADDATA);
+ X(BINDSTATUS_BEGINDOWNLOADCOMPONENTS);
+ X(BINDSTATUS_INSTALLINGCOMPONENTS);
+ X(BINDSTATUS_ENDDOWNLOADCOMPONENTS);
+ X(BINDSTATUS_USINGCACHEDCOPY);
+ X(BINDSTATUS_SENDINGREQUEST);
+ X(BINDSTATUS_CLASSIDAVAILABLE);
+ X(BINDSTATUS_MIMETYPEAVAILABLE);
+ X(BINDSTATUS_CACHEFILENAMEAVAILABLE);
+ X(BINDSTATUS_BEGINSYNCOPERATION);
+ X(BINDSTATUS_ENDSYNCOPERATION);
+ X(BINDSTATUS_BEGINUPLOADDATA);
+ X(BINDSTATUS_UPLOADINGDATA);
+ X(BINDSTATUS_ENDUPLOADINGDATA);
+ X(BINDSTATUS_PROTOCOLCLASSID);
+ X(BINDSTATUS_ENCODING);
+ X(BINDSTATUS_VERIFIEDMIMETYPEAVAILABLE);
+ X(BINDSTATUS_CLASSINSTALLLOCATION);
+ X(BINDSTATUS_DECODING);
+ X(BINDSTATUS_LOADINGMIMEHANDLER);
+ X(BINDSTATUS_CONTENTDISPOSITIONATTACH);
+ X(BINDSTATUS_FILTERREPORTMIMETYPE);
+ X(BINDSTATUS_CLSIDCANINSTANTIATE);
+ X(BINDSTATUS_IUNKNOWNAVAILABLE);
+ X(BINDSTATUS_DIRECTBIND);
+ X(BINDSTATUS_RAWMIMETYPE);
+ X(BINDSTATUS_PROXYDETECTING);
+ X(BINDSTATUS_ACCEPTRANGES);
+ X(BINDSTATUS_COOKIE_SENT);
+ X(BINDSTATUS_COMPACT_POLICY_RECEIVED);
+ X(BINDSTATUS_COOKIE_SUPPRESSED);
+ X(BINDSTATUS_COOKIE_STATE_UNKNOWN);
+ X(BINDSTATUS_COOKIE_STATE_ACCEPT);
+ X(BINDSTATUS_COOKIE_STATE_REJECT);
+ X(BINDSTATUS_COOKIE_STATE_PROMPT);
+ X(BINDSTATUS_COOKIE_STATE_LEASH);
+ X(BINDSTATUS_COOKIE_STATE_DOWNGRADE);
+ X(BINDSTATUS_POLICY_HREF);
+ X(BINDSTATUS_P3P_HEADER);
+ X(BINDSTATUS_SESSION_COOKIE_RECEIVED);
+ X(BINDSTATUS_PERSISTENT_COOKIE_RECEIVED);
+ X(BINDSTATUS_SESSION_COOKIES_ALLOWED);
+ X(BINDSTATUS_CACHECONTROL);
+ X(BINDSTATUS_CONTENTDISPOSITIONFILENAME);
+ X(BINDSTATUS_MIMETEXTPLAINMISMATCH);
+ X(BINDSTATUS_PUBLISHERAVAILABLE);
+ X(BINDSTATUS_DISPLAYNAMEAVAILABLE);
+#undef X
+ default:
+ return wine_dbg_sprintf("(invalid status %u)", status);
+ }
+}
/***********************************************************************
* DllInstall (URLMON.@)
diff --git a/dlls/urlmon/urlmon_main.h b/dlls/urlmon/urlmon_main.h
index 4231307..7260e94 100644
--- a/dlls/urlmon/urlmon_main.h
+++ b/dlls/urlmon/urlmon_main.h
@@ -221,6 +221,8 @@ tls_data_t *get_tls_data(void) DECLSPEC_HIDDEN;
HWND get_notif_hwnd(void) DECLSPEC_HIDDEN;
void release_notif_hwnd(HWND) DECLSPEC_HIDDEN;
+const char *debugstr_bindstatus(ULONG) DECLSPEC_HIDDEN;
+
static inline void *heap_alloc(size_t len)
{
return HeapAlloc(GetProcessHeap(), 0, len);
More information about the wine-cvs
mailing list