/// <summary> /// ParseUrl /// </summary> /// <param name="pwzUrl"></param> /// <param name="ParseAction"></param> /// <param name="dwParseFlags"></param> /// <param name="pwzResult"></param> /// <param name="cchResult"></param> /// <param name="pcchResult"></param> /// <param name="dwReserved"></param> /// <returns></returns> /// <remarks> /// Implement security rule to avoid alert with non HTTPS content. /// </remarks> public uint ParseUrl(string pwzUrl, PARSEACTION ParseAction, uint dwParseFlags, IntPtr pwzResult, uint cchResult, out uint pcchResult, uint dwReserved) { string temp = null; switch (ParseAction) { case PARSEACTION.PARSE_CANONICALIZE: case PARSEACTION.PARSE_FRIENDLY: case PARSEACTION.PARSE_DOCUMENT: case PARSEACTION.PARSE_ENCODE: case PARSEACTION.PARSE_DECODE: case PARSEACTION.PARSE_PATH_FROM_URL: case PARSEACTION.PARSE_URL_FROM_PATH: case PARSEACTION.PARSE_ESCAPE: case PARSEACTION.PARSE_UNESCAPE: case PARSEACTION.PARSE_SECURITY_URL: temp = pwzUrl; break; case PARSEACTION.PARSE_ROOTDOCUMENT: temp = Name + "://"; break; case PARSEACTION.PARSE_MIME: temp = "text/html"; switch (pwzUrl.Substring(pwzUrl.Length - 3)) { case "png": temp = "image/png"; break; case "gif": temp = "image/gif"; break; case "css": temp = "text/css"; break; case "eot": temp = "application/font-woff"; break; } break; case PARSEACTION.PARSE_SCHEMA: temp = Name; break; } Marshal.Copy(temp.ToCharArray(), 0, pwzResult, temp.Length); pcchResult = (uint)temp.Length + 1; return(HRESULT.S_OK); }
public int ParseUrl([MarshalAs(UnmanagedType.LPWStr)] string pwzUrl, PARSEACTION ParseAction, uint dwParseFlags, ref ushort pwzResult, uint cchResult, ref uint pcchResult, uint dwReserved) { if (m_ParseUrlFunc == null) { var fp = GetFunctionPointer(3); m_ParseUrlFunc = (ParseUrlFunc)Marshal.GetDelegateForFunctionPointer(fp, typeof(ParseUrlFunc)); } return(m_ParseUrlFunc(m_ptr, pwzUrl, ParseAction, dwParseFlags, ref pwzResult, cchResult, ref pcchResult, dwReserved)); }
public uint ParseUrl(string pwzUrl, PARSEACTION ParseAction, uint dwParseFlags, IntPtr pwzResult, uint cchResult, out uint pcchResult, uint dwReserved) { Debug.WriteLine("ParseUrl:" + pwzUrl); pcchResult = 0; return(HRESULT.INET_E_DEFAULT_ACTION); // byte[] bytes = Encoding.Unicode.GetBytes(pwzUrl); // Marshal.Copy(bytes, 0, pwzResult, bytes.Length); // pcchResult = (uint)pwzUrl.Length; // return HRESULT.S_OK; }
private string DoParseUrl(string pwzUrl, PARSEACTION ParseAction) { switch (ParseAction) { case PARSEACTION.PARSE_CANONICALIZE: return(pwzUrl); case PARSEACTION.PARSE_SECURITY_URL: return("http://localhost/"); case PARSEACTION.PARSE_SECURITY_DOMAIN: return("http://localhost/"); default: return(null); } }
private string DoParseUrl(string pwzUrl, PARSEACTION ParseAction) { switch (ParseAction) { case PARSEACTION.PARSE_CANONICALIZE: return(pwzUrl); case PARSEACTION.PARSE_SECURITY_URL: return("gallio:localhost+" + (int)URLZONE.URLZONE_INTERNET); case PARSEACTION.PARSE_SECURITY_DOMAIN: return("gallio:localhost"); default: return(null); } }
public int ParseUrl(string pwzUrl, PARSEACTION ParseAction, uint dwParseFlags, IntPtr pwzResult, uint cchResult, out uint pcchResult, uint dwReserved) { string result = DoParseUrl(pwzUrl, ParseAction); if (result != null) { pcchResult = (uint)result.Length; if (result.Length > cchResult) { return(NativeConstants.S_FALSE); // buffer too small } WriteLPWStr(result, pwzResult); return(NativeConstants.S_OK); } pcchResult = 0; return(NativeConstants.INET_E_DEFAULT_ACTION); }
private string DoParseUrl(string pwzUrl, PARSEACTION ParseAction) { switch (ParseAction) { case PARSEACTION.PARSE_CANONICALIZE: return pwzUrl; case PARSEACTION.PARSE_SECURITY_URL: return "http://localhost/"; case PARSEACTION.PARSE_SECURITY_DOMAIN: return "http://localhost/"; default: return null; } }
public int ParseUrl(string pwzUrl, PARSEACTION ParseAction, uint dwParseFlags, IntPtr pwzResult, uint cchResult, out uint pcchResult, uint dwReserved) { string result = DoParseUrl(pwzUrl, ParseAction); if (result != null) { pcchResult = (uint)result.Length; if (result.Length > cchResult) return NativeConstants.S_FALSE; // buffer too small WriteLPWStr(result, pwzResult); return NativeConstants.S_OK; } pcchResult = 0; return NativeConstants.INET_E_DEFAULT_ACTION; }
private string DoParseUrl(string pwzUrl, PARSEACTION ParseAction) { switch (ParseAction) { case PARSEACTION.PARSE_CANONICALIZE: return pwzUrl; case PARSEACTION.PARSE_SECURITY_URL: return "gallio:localhost+" + (int) URLZONE.URLZONE_INTERNET; case PARSEACTION.PARSE_SECURITY_DOMAIN: return "gallio:localhost"; default: return null; } }
public uint ParseUrl( string pwzUrl, PARSEACTION ParseAction, uint dwParseFlags, IntPtr pwzResult, uint cchResult, out uint pcchResult, uint dwReserved) { var temp = new StringBuilder (pwzUrl); temp.Insert (0, "http://localhost:1234/"); Marshal.Copy(temp.ToString().ToCharArray(), 0, pwzResult, temp.Length); Marshal.WriteInt32(pwzResult, temp.Length * 2, 0); pcchResult = (UInt32)temp.Length+1; return HResult.S_OK; }
public int ParseUrl([NativeTypeName("LPCWSTR")] ushort *pwzUrl, PARSEACTION ParseAction, [NativeTypeName("DWORD")] uint dwParseFlags, [NativeTypeName("LPWSTR")] ushort *pwzResult, [NativeTypeName("DWORD")] uint cchResult, [NativeTypeName("DWORD *")] uint *pcchResult, [NativeTypeName("DWORD")] uint dwReserved) { return(((delegate * unmanaged <IInternetProtocolInfo *, ushort *, PARSEACTION, uint, ushort *, uint, uint *, uint, int>)(lpVtbl[3]))((IInternetProtocolInfo *)Unsafe.AsPointer(ref this), pwzUrl, ParseAction, dwParseFlags, pwzResult, cchResult, pcchResult, dwReserved)); }
public static extern HRESULT CoInternetParseIUri(IUri *pIUri, PARSEACTION ParseAction, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("LPWSTR")] ushort *pwzResult, [NativeTypeName("DWORD")] uint cchResult, [NativeTypeName("DWORD *")] uint *pcchResult, [NativeTypeName("DWORD_PTR")] nuint dwReserved);
public static extern HRESULT CoInternetParseUrl([NativeTypeName("LPCWSTR")] ushort *pwzUrl, PARSEACTION ParseAction, [NativeTypeName("DWORD")] uint dwFlags, [NativeTypeName("LPWSTR")] ushort *pszResult, [NativeTypeName("DWORD")] uint cchResult, [NativeTypeName("DWORD *")] uint *pcchResult, [NativeTypeName("DWORD")] uint dwReserved);
public uint ParseUrl(string pwzUrl, PARSEACTION ParseAction, uint dwParseFlags, IntPtr pwzResult, uint cchResult, out uint pcchResult, uint dwReserved) { pcchResult = 0; return(HRESULT.INET_E_DEFAULT_ACTION); }
public uint ParseUrl(string pwzUrl, PARSEACTION ParseAction, uint dwParseFlags, IntPtr pwzResult, uint cchResult, out uint pcchResult, uint dwReserved) { Debug.WriteLine("ParseUrl:" + pwzUrl); pcchResult = 0; return HRESULT.INET_E_DEFAULT_ACTION; // byte[] bytes = Encoding.Unicode.GetBytes(pwzUrl); // Marshal.Copy(bytes, 0, pwzResult, bytes.Length); // pcchResult = (uint)pwzUrl.Length; // return HRESULT.S_OK; }