public unsafe static bool WinHttpSetOption( SafeWinHttpHandle handle, uint option, IntPtr optionData, uint optionLength) { if (option == Interop.WinHttp.WINHTTP_OPTION_PROXY) { var proxyInfo = Marshal.PtrToStructure <Interop.WinHttp.WINHTTP_PROXY_INFO>(optionData); var proxyInfoHistory = new APICallHistory.ProxyInfo(); proxyInfoHistory.AccessType = proxyInfo.AccessType; proxyInfoHistory.Proxy = Marshal.PtrToStringUni(proxyInfo.Proxy); proxyInfoHistory.ProxyBypass = Marshal.PtrToStringUni(proxyInfo.ProxyBypass); APICallHistory.RequestProxySettings = proxyInfoHistory; } else if (option == Interop.WinHttp.WINHTTP_OPTION_CLIENT_CERT_CONTEXT) { APICallHistory.WinHttpOptionClientCertContext.Add(optionData); } else if (option == Interop.WinHttp.WINHTTP_OPTION_TCP_KEEPALIVE) { Interop.WinHttp.tcp_keepalive *ptr = (Interop.WinHttp.tcp_keepalive *)optionData; APICallHistory.WinHttpOptionTcpKeepAlive = (ptr->onoff, ptr->keepalivetime, ptr->keepaliveinterval); } return(true); }
public static bool WinHttpSetOption( SafeWinHttpHandle handle, uint option, IntPtr optionData, uint optionLength) { if (option == Interop.WinHttp.WINHTTP_OPTION_PROXY) { var proxyInfo = Marshal.PtrToStructure <Interop.WinHttp.WINHTTP_PROXY_INFO>(optionData); var proxyInfoHistory = new APICallHistory.ProxyInfo(); proxyInfoHistory.AccessType = proxyInfo.AccessType; proxyInfoHistory.Proxy = Marshal.PtrToStringUni(proxyInfo.Proxy); proxyInfoHistory.ProxyBypass = Marshal.PtrToStringUni(proxyInfo.ProxyBypass); APICallHistory.RequestProxySettings = proxyInfoHistory; } else if (option == Interop.WinHttp.WINHTTP_OPTION_CLIENT_CERT_CONTEXT) { APICallHistory.WinHttpOptionClientCertContext.Add(optionData); } return(true); }
public static bool WinHttpSetOption( SafeWinHttpHandle handle, uint option, IntPtr optionData, uint optionLength) { if (option == Interop.WinHttp.WINHTTP_OPTION_PROXY) { var proxyInfo = Marshal.PtrToStructure<Interop.WinHttp.WINHTTP_PROXY_INFO>(optionData); var proxyInfoHistory = new APICallHistory.ProxyInfo(); proxyInfoHistory.AccessType = proxyInfo.AccessType; proxyInfoHistory.Proxy = Marshal.PtrToStringUni(proxyInfo.Proxy); proxyInfoHistory.ProxyBypass = Marshal.PtrToStringUni(proxyInfo.ProxyBypass); APICallHistory.RequestProxySettings = proxyInfoHistory; } else if (option == Interop.WinHttp.WINHTTP_OPTION_CLIENT_CERT_CONTEXT) { APICallHistory.WinHttpOptionClientCertContext.Add(optionData); } return true; }