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