Пример #1
0
        private static INTERNET_PER_CONN_OPTION QueryOption(INTERNET_PER_CONN_OptionEnum optionValue)
        {
            INTERNET_PER_CONN_OPTION[] options = new INTERNET_PER_CONN_OPTION[1];

            options[0].dwOption = (int)optionValue;

            ExecuteAction(options, (optionList, size) =>
            {
                bool result = InternetQueryOption(IntPtr.Zero, INTERNET_OPTION.INTERNET_OPTION_PER_CONNECTION_OPTION, ref optionList, ref size);

                if (result)
                {
                    IntPtr current = optionList.pOptions;

                    for (int i = 0; i < options.Length; i++)
                    {
                        options[i] = (INTERNET_PER_CONN_OPTION)Marshal.PtrToStructure(current, typeof(INTERNET_PER_CONN_OPTION));
                        current    = (IntPtr)((int)current + Marshal.SizeOf(options[i]));
                    }
                }

                return(result);
            });

            INTERNET_PER_CONN_OPTION option = options[0];

            return(option);
        }
Пример #2
0
        private static INTERNET_PER_CONN_OPTION QueryOption(INTERNET_PER_CONN_OptionEnum optionValue)
        {
            INTERNET_PER_CONN_OPTION[] options = new INTERNET_PER_CONN_OPTION[1];

            options[0].dwOption = (int)optionValue;

            ExecuteAction(options, (optionList, size) =>
            {
                bool result = InternetQueryOption(IntPtr.Zero, INTERNET_OPTION.INTERNET_OPTION_PER_CONNECTION_OPTION, ref optionList, ref size);

                if (result)
                {
                    IntPtr current = optionList.pOptions;

                    for (int i = 0; i < options.Length; i++)
                    {
                        options[i] = (INTERNET_PER_CONN_OPTION)Marshal.PtrToStructure(current, typeof(INTERNET_PER_CONN_OPTION));
                        current = (IntPtr)((int)current + Marshal.SizeOf(options[i]));
                    }
                }

                return result;
            });

            INTERNET_PER_CONN_OPTION option = options[0];
            return option;
        }