Added stub for IsValidURL.

diff --git a/dlls/urlmon/urlmon.spec b/dlls/urlmon/urlmon.spec
index 4d55364..ce9ac91 100644
--- a/dlls/urlmon/urlmon.spec
+++ b/dlls/urlmon/urlmon.spec
@@ -46,7 +46,7 @@
 @ stdcall IsAsyncMoniker(ptr)
 @ stub IsLoggingEnabledA
 @ stub IsLoggingEnabledW
-@ stub IsValidURL
+@ stdcall IsValidURL(ptr wstr long)
 @ stdcall MkParseDisplayNameEx(ptr ptr ptr ptr) ole32.MkParseDisplayName
 @ stdcall ObtainUserAgentString(long str ptr)
 @ stub PrivateCoInstall
diff --git a/dlls/urlmon/urlmon_main.c b/dlls/urlmon/urlmon_main.c
index 73c0552..146f239 100644
--- a/dlls/urlmon/urlmon_main.c
+++ b/dlls/urlmon/urlmon_main.c
@@ -142,3 +142,31 @@
     TRACE("(%s,%s,%08lx)\n", debugstr_w(pwzUrl1), debugstr_w(pwzUrl2), dwCompareFlags);
     return UrlCompareW(pwzUrl1, pwzUrl2, dwCompareFlags)==0?S_OK:S_FALSE;
 }
+
+/**************************************************************************
+ *                 IsValidURL (URLMON.@)
+ * 
+ * Determines if a specified string is a valid URL.
+ *
+ * PARAMS
+ *  pBC        [I] ignored, must be NULL.
+ *  szURL      [I] string that represents the URL in question.
+ *  dwReserved [I] reserved and must be zero.
+ *
+ * RETURNS
+ *  Success: S_OK.
+ *  Failure: S_FALSE.
+ *  returns E_INVALIDARG if one or more of the args is invalid.
+ *
+ * TODO:
+ *  test functionality against windows to see what a valid URL is.
+ */
+HRESULT WINAPI IsValidURL(LPBC pBC, LPCWSTR szURL, DWORD dwReserved)
+{
+    FIXME("(%p, %s, %ld): stub\n", pBC, debugstr_w(szURL), dwReserved);
+    
+    if (pBC != NULL || dwReserved != 0)
+        return E_INVALIDARG;
+    
+    return S_OK;
+}